若是你想爲請求添加HTTP頭部,只要簡單地傳遞一個 dict
給 headers
參數就能夠了。git
import json
url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print r.text
一般,你想要發送一些編碼爲表單形式的數據—很是像一個HTML表單。 要實現這個,只需簡單地傳遞一個字典給 data 參數。你的數據字典 在發出請求時會自動編碼爲表單形式:github
import requests
url = 'https://api.github.com/some/endpoint'
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)
print r.text
import requests
url = 'http://httpbin.org/post'
files = {'file': open('zxc.txt', 'rb')}
r = requests.post(url, files=files)
print r.text
你能夠顯式地設置文件名,文件類型和請求頭:
url = 'http://httpbin.org/post'
files = {'file': ('report.xls', open('zxc.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
r = requests.post(url, files=files)
print r.text
若是你想,你也能夠發送做爲文件來接收的字符串:
url = 'http://httpbin.org/post' files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')} r = requests.post(url, files=files)