![](/img/trans.png)
[英]How to convert python3 post request with both files and params to curl
[英]Convert curl POST to urllib request python3
以下curl命令可按预期工作。 使用POST将一些信息发送到网站。
curl 'https://...' \
-X PUT \
-d "submission[posted_grade]=65" \
-H "Authorization: Bearer 10~X"
等效的python3代码应该是什么,给出错误500:Internal Server Error
url_string = 'https://...'
data = "submission[posted_grade]=40"
data = data.encode('utf-8')
req = urllib.request.Request(url_string, data)
req.add_header("Authorization", "Bearer 10~X")
req.add_header("Content-Type", "application/json")
response = urllib.request.urlopen(req)
print(response.read())
已经尝试过
data = {'submission[posted_grade]': '40'}
data = json.dumps(data)
data = data.encode('utf-8')
给出“ HTTP错误422:无法处理的实体”
有修复的想法吗?
谢谢@cody
获得的经验教训,PUT!= POST
以下代码按预期工作:
url_string = 'https://...'
data = "submission[posted_grade]=40"
data = data.encode('utf-8')
req = urllib.request.Request(url=url_string, data=data, method='PUT')
req.add_header("Authorization", "Bearer 10~X")
response = urllib.request.urlopen(req)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.