2015-02-12 246 views
2

這裏POST請求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」:「該機構同時具有」double「和」single「引號」}'

不幸的是,我無法弄清楚這一點(如從cli捲曲) 雖然我想用python發送這個請求。 我該怎麼做?

+0

你試過一個名爲pycurl的庫嗎?這實際上是一個模擬捲曲,具有完全相同的設置和幾乎相同的語法。 – 2015-02-12 01:39:36

回答

12

隨着標準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) 
+1

我使用了兩者,我更喜歡*請求*表示其他人,這更簡單。 – 2016-07-07 08:29:31