Python Requests-學習筆記(4)-定製請求頭和POST

定製請求頭

若是你想爲請求添加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

更加複雜的POST請求

一般,你想要發送一些編碼爲表單形式的數據—很是像一個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

POST一個多部分編碼(Multipart-Encoded)的文件

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)
相關文章
相關標籤/搜索