利用 Requests 套件送出 HTTP請求

首頁 >> 升級套件 >> 利用 Requests 套件送出 HTTP請求

除了 Python 內建的模組 urllib2   可傳送HTTP 請求以外,

其他有許多套件可達到此功能,

今天就

 

利用 Requests 套件送出 HTTP請求

 

在程式設計前,

要先匯入模組,

才能在 Python   使用

import   requests

 

 

常用的HTTP請求有 GET  與   POST,

底下為一個最簡單的GET請求:

 

requests.get(“網址url”)

 

在程式設計時候,

可取得狀態碼判別該HTTP請求是否成功,

status _code    =    200    表示請求成功,

如果狀態碼介於400~500之間,

表示請求錯誤

可藉由 if-else   來判別請求成功或失敗,

 

r   =   requests.get(“網址url”)

if r.status_code   ==  200
        print(“成功”)

 

 

除此之外,

也可以傳送帶有參數的 GET 請求

例如:

 

req_params   =   {  ‘key1’: ‘value1′,’key2′:’value2’ }

r   =   requests.get   (“網址url”, params=req_params)

 

這相當於在瀏覽器打上

網址url?key1=value1&key2=value2

 

 

GET請求加上參數的方法屬於URL參數,

也就是從網址可看到的,

POST則是以HTML表單方式送出,

 

一個簡單的POST請求長這個樣子:

 

req_params   =   {  ‘key1’: ‘value1′,’key2′:’value2’ }

r   =   requests.post   (“網址url”, data=req_params)

 

送出要求之後,

伺服器可針對要求進行回應,

而取得回應資料也很簡單,

 

可透過

r.text

取得,

 

除此以外,

可利用

r.content

取得沒有解碼的二進制內容,

 

或者可以

r.raw

取得最原始的回應內容

 

之前曾提到過資料交換格式JSON,

伺服器若透過JSON方式回傳資料,

可利用

r.json()

解析JSON資料,

 

 

r.text取得的回應資料型態為str  ,

r.json()取得的回應資料型態為dict  ,

兩者有些許的不同,

要稍微留意一下



================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發表迴響