将基本 CURL 转换为 Python 的请求
Converting a basic CURL to Python's request
以下 curl
工作正常:
curl -d '{"date":"2015-05-27T03:48:29.002Z"}' http://blabla.com
但我无法让它与 requests
一起工作:
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.get(url, params=payload, headers=h)
我做错了什么?
使用 curl 发布 JSON 数据,而 params
参数设置 URL 查询参数(URL 中 ?
之后的任何内容)。
使用 json
关键字参数和正确的动词(-d
告诉 curl
使用 POST 请求):
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post(url, json=payload)
另外,这会将 Content-Type
header 设置为 application/json
。
这应该适用于所有 requests
版本:
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post('http://blabla.com', data=json.dumps(payload), headers={'Content-type': 'application/json'})
尝试使用 post
代替 get
:
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post(url, params=payload, headers=h)
以下 curl
工作正常:
curl -d '{"date":"2015-05-27T03:48:29.002Z"}' http://blabla.com
但我无法让它与 requests
一起工作:
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.get(url, params=payload, headers=h)
我做错了什么?
使用 curl 发布 JSON 数据,而 params
参数设置 URL 查询参数(URL 中 ?
之后的任何内容)。
使用 json
关键字参数和正确的动词(-d
告诉 curl
使用 POST 请求):
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post(url, json=payload)
另外,这会将 Content-Type
header 设置为 application/json
。
这应该适用于所有 requests
版本:
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post('http://blabla.com', data=json.dumps(payload), headers={'Content-type': 'application/json'})
尝试使用 post
代替 get
:
payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post(url, params=payload, headers=h)