如何在python中发布post请求

时间:2015-02-12 01:22:13

标签: python curl

这是curl命令:

curl -H "X-API-TOKEN: <API-TOKEN>" 'http://foo.com/foo/bar' --data # 

让我解释一下数据的内容

POST /foo/bar
Input (request JSON body)

Name    Type    
title   string  
body    string

所以,基于此......我想:

curl -H“X-API-TOKEN:”'http://foo.com/foo/bar' - data'{“title”:“foobar”,“body”:“这个身体既有”双“又有”单身“引号“}”

不幸的是,我也无法解决这个问题(比如来自cli的curl) 虽然我想用python发送这个请求。 我该怎么做?

1 个答案:

答案 0 :(得分:26)

使用标准的Python httpliburllib

import httplib, urllib

headers = {'X-API-TOKEN': 'your_token_here'}
payload = "'title'='value1'&'name'='value2'"

conn = httplib.HTTPConnection("heise.de")
conn.request("POST", "", payload, headers)
response = conn.getresponse()

print response

或者如果你想使用名为"Requests"的漂亮的HTTP库。

import requests

headers = {'X-API-TOKEN': 'your_token_here'}
payload = {'title': 'value1', 'name': 'value2'}

r = requests.post("http://foo.com/foo/bar", data=payload, headers=headers)