如何在Python中将curl-POST转换为requests-POST?

2024-06-17 08:42:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有curl命令,需要在Python中传输到requests POST

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

我试过:

^{pr2}$

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分别发送int和字符串吗,或者这不是这个错误的原因吗?在


Tags: 命令httpapplicationtypesitesomecontentcurl
1条回答
网友
1楼 · 发布于 2024-06-17 08:42:35

你试过requests.post(url, json=payload)了吗?。。params=payload附加查询字符串参数,json=payload发送JSON作为body+content类型头

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}',
>>>  ...

相关问题 更多 >