我查了几件事,但我只是没有找到一个完全符合我正在做的事情。我找到了一些接近的,但我似乎无法得到它。
我有这个curl 语句。成功时它会返回 204,并且工作正常。
# curl -v -H "Content-type: application/json" -X PUT -d '{"latitude":47.629355,"longitude":-122.3794778}' "http://myserver.com/location/private/location"
当我尝试将其转换为Python请求时,似乎应该如下所示:
headers = {'Content-type': 'application/json'}
data = {"latitude":'47.629355',"longitude":'-122.3794778'}
r = requests.put("http://myserver.com/location/private/location", headers=headers, data=data)
但是失败并返回 400(错误请求)。所以我的形成方式不太对劲。
我继续研究它,更改引号等。但基于我在 SO 和 http://docs.python-requests.org/ 上读到的内容,在我看来我做得对。
任何分享的智慧将不胜感激。谢谢!
最佳答案
尝试用 json.dumps(data)
替换 data
:
import json
r = requests.put("http://myserver.com/location/private/location", headers=headers, data=json.dumps(data))
关于python - 将curl 转换为Python requests.put,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542318/