Python Test API - 002-HTTP請求方法,如何用Requests實現這些請求
HTTP請求可以使用多種請求方法
GET、POST、 HEAD、OPTIONS、 PUT、 DELETE、TRACE 和 CONNECT 方法。
· GET
· 請求指定的頁面資訊,並返回實體主體。
· GET請求請提交的資料放置在HTTP請求協議頭中,GET方法通過URL請求來傳遞使用者的輸入,
· GET方法提交資料,可能會帶來安全性的問題,資料被瀏覽器快取。
· GET請求有長度限制。
· HEAD
· 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭。
· POST
· 向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。
· POST請求可能會導致新的資源的建立和/或已有資源的修改。
· POST方式提交時,你必須通過Request.Form來訪問提交的內容
· PUT
· 從客戶端向伺服器傳送的資料取代指定的文件的內容。
· DELETE
· 請求伺服器刪除指定的頁面。
· DELETE請求一般返回3種碼
· 200(OK)——刪除成功,同時返回已經刪除的資源。
· 202(Accepted)——刪除請求已經接受,但沒有被立即執行(資源也許已經被轉移到了待刪除區域)。
· 204(No Content)——刪除請求已經被執行,但是沒有返回資源(也許是請求刪除不存在的資源造成的)。
· CONNECT
· HTTP/1.1協議中預留給能夠將連線改為管道方式的代理伺服器。
· OPTIONS
· 允許客戶端檢視伺服器的效能。
· TRACE
· 回顯伺服器收到的請求,主要用於測試或診斷。
用Requests實現請求:
· get
無引數例子
import requests
r = requests.get('https://api.github.com/events')
print(r.status_code)
200
帶引數例子1
比如實現 http://httpbin.org/get?key2=value2&key1=value1
import requests
payload = {'key1':'value1', 'key2':'value2'}
r = requests.get('http://httpbin.org/get', params=payload)
print(r.url)
C:\Python35\python.exe D:/pyjd/djanRestPro/api/tests.py
http://httpbin.org/get?key1=value1&key2=value2
代引數例子2,給key2傳遞多個值
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
>>> r = requests.get('http://httpbin.org/get', params=payload)
>>> print(r.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3
· post
r = requests.post('http://httpbin.org/post', data = {'key':'value'})
· put
r = requests.put('http://httpbin.org/put', data = {'key':'value'})
· delete
r = requests.delete('http://httpbin.org/delete')
· head
r = requests.head('http://httpbin.org/get')
· options
r = requests.options('http://httpbin.org/get')