python - 如何将 curl POST 转换为 Python 中的请求 POST?

标签 python curl post python-requests

我有 curl 命令,我需要将其传输到 Python 中的请求 POST

curl -X POST -H "Content-Type: application/json" -d '{"val1": -1000, "val2": 15, "val3": "20000", "val4": "22"}'
http://some-site:6000?t=1234567890

我试过:

payload = {'val1': val1, 'val2': val2, 'val3': val3, 'val4': val4}
r = requests.post(url, params=payload)

r.url 返回:

 http://some-site:6000?t=1234567890&val1=-1000&val2=15&val3=20000&val4=22

但是,我从服务器收到 val1 is not defined 响应。我可以在 curl 命令中看到 val1 和 val2 是 int 类型。我可以分别发送 requests 整数和字符串吗?或者这不是导致此错误的原因?

最佳答案

您是否尝试过 requests.post(url, json=payload)?.. params=payload 附加查询字符串参数和 json=payload 将 JSON 作为正文 + 内容类型 header 发送

import requests
payload = {'val1': 1, 'val2': 2, 'val3': 3, 'val4': 3}
r = requests.post('http://httpbin.org/post', json=payload)
print(r.json())

>>> {u'args': {},
>>>  u'data': u'{"val3": 3, "val2": 2, "val1": 1, "val4": 3}',
>>>  ...

关于python - 如何将 curl POST 转换为 Python 中的请求 POST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027585/

相关文章:

python - nosetests 正在捕获我的打印语句的输出。如何规避这一点?

python - Sklearn语法错误?

php Extract 对此图像的最佳猜测来自谷歌图像搜索?

IIS:发布到默认页面时出现 405(方法不允许)

php - REST API : Request body as JSON or plain POST data?

java - JAX-RS @consume ("text/plain") 未获取字符串

python - Pandas convert_to_r_dataframe 不适用于 numpy.bool_

javascript - 用于将图像显示到 Canvas 的简单 Websocket

java - 使用 curl 发布, postman 工作但 java 给出 SSL 错误

php - HTTP 错误 : curl ERROR: 27: SSL: couldn't create a context in Heroku