将基本CURL转换为Python的请求

时间:2015-05-28 17:57:28

标签: python curl python-requests

以下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)

我做错了什么?

3 个答案:

答案 0 :(得分:3)

使用curl发布 JSON 数据,而params参数设置网址查询参数(网址中?之后的内容) )。

使用json关键字参数和正确的动词(-d告诉curl使用POST请求):

payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post(url, json=payload)

此外,还会将Content-Type标头设置为application/json

答案 1 :(得分:1)

这适用于所有requests个版本:

payload = {'date' : '2015-05-27T03:48:29.002Z'}
r = requests.post('http://blabla.com', data=json.dumps(payload), headers={'Content-type': 'application/json'})

答案 2 :(得分:1)

尝试使用get代替payload = {'date' : '2015-05-27T03:48:29.002Z'} r = requests.post(url, params=payload, headers=h)

localhost:8080/mappings