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

定製請求頭

如果你想爲請求添加HTTP頭部,只要簡單地傳遞一個 dict 給 headers 參數就可以了。

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 參數。你的數據字典 在發出請求時會自動編碼爲表單形式:

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)

發佈了30 篇原創文章 · 獲贊 49 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章