1. 程式人生 > >Python - HTTP請求

Python - HTTP請求

http或超文字傳輸​​協議適用於客戶端伺服器模型。通常,Web瀏覽器是客戶端,託管該網站的計算機是伺服器。在python中,我們使用requests模組來建立http請求。它是一個非常強大的模組,可以處理簡單請求和響應資料之外的http通訊的許多方面。它可以處理身份驗證,壓縮/解壓縮,分塊請求等。

HTTP客戶端以請求訊息的形式向伺服器傳送HTTP請求,其中包括以下格式:

  • 請求行
  • 零個或多個標題(General | Request | Entity)欄位後跟CRLF
  • 空行(即CRLF前面沒有任何內容的行),表示標題欄位的結尾
  • 可選的訊息體

請求方法
請求方法指示對由給定Request-URI標識的資源執行的方法。該方法區分大小寫,應始終以大寫形式提及。下表列出了HTTP / 1.1中支援的所有方法。

SN 方法和描述
GET 方法用於使用給定的URI從給定伺服器檢索資訊。使用GET的請求應僅檢索資料,並且不應對資料產生其他影響。
HEAD 與GET相同,但它僅傳輸狀態行和標題部分。
POST 請求用於使用HTML表單向伺服器傳送資料,例如客戶資訊,檔案上傳等。
PUT 用上傳的內容替換目標資源的所有當前表示。
DELETE 刪除URI給出的目標資源的所有當前表示。
CONNECT 建立到給定URI標識的伺服器的隧道。
OPTIONS 描述目標資源的通訊選項。
TRACE 執行訊息迴圈測試以及目標資源的路徑。

請求URI
Request-URI是統一資源識別符號,用於標識應用請求的資源。以下是指定URI的最常用表單:

Request-URI = "*" | absoluteURI | abs_path | authority
SN 方法和描述
1 當HTTP請求不適用於特定資源但使用伺服器本身時,將使用星號*,並且僅當使用的方法不一定適用於資源時才允許使用星號*。例如: OPTIONS * HTTP/1.1
2 Request-URI的最常見形式是用於標識源伺服器或閘道器上的資源。例如,希望直接從源伺服器檢索資源的客戶端將建立到主機“www.w3.org”的埠80的TCP連線,併發送以下行:GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
3 Request-URI的最常見形式是用於標識源伺服器或閘道器上的資源。例如,希望直接從源伺服器檢索資源的客戶端將建立到主機“www.w3.org”的埠80的TCP連線,併發送以下行:GET /pub/WWW/TheProject.html HTTP/1.1; Host: www.w3.org

注意絕對路徑不能為空; 如果原始URI中不存在,則必須以“/”(伺服器根目錄)給出。

使用Python模組requests請求

  • 安裝
    pip install requests

import requests
r = requests.get('https://map.baidu.com/')
print(r.text)