python - 将curl 转换为Python requests.put

标签 python curl python-requests

我查了几件事,但我只是没有找到一个完全符合我正在做的事情。我找到了一些接近的,但我似乎无法得到它。

我有这个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/

相关文章:

python - 从文件路径创建逗号分隔值文件

javascript - 如何使用 curl 与 exec nodejs

Python 请求响应解码

python - 在python中将字符输出到终端中的某个位置

python - 多处理Python中的self

php - 用curl编译php,curl安装在哪里?

Python请求不上传文件

Python从HTTPS aspx下载图像

python - 不规则间隔的热图

php - 如何使用PHP将网页获取到变量中