1. 程式人生 > >Python Test API - 002-HTTP請求方法,如何用Requests實現這些請求

Python Test API - 002-HTTP請求方法,如何用Requests實現這些請求

HTTP請求可以使用多種請求方法

GETPOST HEADOPTIONS PUT DELETETRACE CONNECT 方法。

·        GET 

·        請求指定的頁面資訊,並返回實體主體。

·        GET請求請提交的資料放置在HTTP請求協議頭中,GET方法通過URL請求來傳遞使用者的輸入,

GET方式的提交你需要用Request.QueryString來取得變數的值。

·        GET方法提交資料,可能會帶來安全性的問題,資料被瀏覽器快取。

·        GET請求有長度限制。

·        HEAD

·        類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭。

·        POST

·        向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。

·        POST請求可能會導致新的資源的建立和/或已有資源的修改。

·        POST方式提交時,你必須通過Request.Form來訪問提交的內容

·        PUT

·        從客戶端向伺服器傳送的資料取代指定的文件的內容。

·        DELETE

·        請求伺服器刪除指定的頁面。

·        DELETE請求一般返回3種碼

·        200OK——刪除成功,同時返回已經刪除的資源。

·        202Accepted——刪除請求已經接受,但沒有被立即執行(資源也許已經被轉移到了待刪除區域)。

·        204No 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')