如何在python中实现curl的`-d'value={"test":"test"}'`?

以下命令可以将该值发布到我的内部 Web 服务之一。


curl -k -X POST -d 'value={"test":"test"}' "https://myinternalsite/....." -u 'username:password'

我需要一个 python 脚本来实现,所以我有以下脚本:


import requests

from requests.auth import HTTPBasicAuth



url='https://myInternalWebsite/....'

json={'test':'test'}

username='....'

password = '....'

auth = HTTPBasicAuth(username, password)

resp = requests.post(url, json=json, auth=auth, verify=False)

resp.content

脚本完成,没有任何错误 (200)。但该json值未发布。不确定内部站点是否无法处理该json=参数?如何-d 'value={"test":"test"}'在Python中实现curl?


千巷猫影
浏览 114回答 1
1回答

噜噜哒

当您使用json参数时,它不会将其作为value参数值传递,而是将 JSON 作为原始 POST 正文发送。如果它应该是 POST 参数的值,请使用该data参数并显式调用json.dumps()。resp = requests.post(url, data = {"value": json.dumps(json)}, auth=auth, verify=False)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python