说明
用Terminal,curl 获取请求, 如何转换为json获取的方式。
% curl -XPOST http://httpbin.org/post -H "Content-Type:application/json" -d '{"attribute":"value"}'
{
"args": {},
"data": "{\"attribute\":\"value\"}",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Content-Length": "21",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "curl/7.71.1",
"X-Amzn-Trace-Id": "Root=1-5fa3c5b9-234bd20a68c850894926f9bf"
},
"json": {
"attribute": "value"
},
"origin": "58.251.16.218",
"url": "http://httpbin.org/post"
}
python 解决方案
python3 use curl to request data
先安装lib urllib3
$ python -m pip install urllib3
import urllib3
import json
data = {'attribute': 'value'}
encoded_data = json.dumps(data).encode('utf-8')
r = http.request(
'POST',
'http://httpbin.org/post',
body=encoded_data,
headers={'Content-Type': 'application/json'}
)
json.loads(r.data.decode('utf-8'))['json']
print result
{'attribute': 'value'}
参考
https://urllib3.readthedocs.io/en/latest/user-guide.html
https://stackoverflow.com/questions/22366748/reading-json-files-from-curl-in-python/64694348#64694348