python httplib模組的使用

2021-06-19 02:01:12 字數 3160 閱讀 3151

httplib是乙個相對底層的http請求模組,其上有專門的包裝模組,如urllib內建模組,goto等第三方模組,但是封裝的越高就越不靈活,比如urllib模組裡請求錯誤時就不會返回結果頁的內容,只有頭資訊,對於某些需要檢測錯誤請求返回值的場景就不適用,所以就得用這個模組了。

說明:該類用於建立乙個http型別的請求鏈結

原型:httpconnection(host[, port[, strict[, timeout]]])

host: 請求的伺服器host,不能帶http://開頭

port: 伺服器web服務埠

strict: 是否嚴格檢查請求的狀態行,就是http1.0/1.1 協議版本的那一行,即請求的第一行,預設為false,為true時檢查錯誤會拋異常

timeout: 單次請求的超時時間,沒有時預設使用httplib模組內的全域性的超時時間

例項:  

錯誤例項:

返回:

httpconnection類會例項並返回乙個httpconnection物件

說明:該類用於建立乙個https型別的請求鏈結

原型:httpsconnection(host[, port[, key_file[, cert_file[, strict[, timeout]]]]])

key_file:乙個包含pem格式的私鑰檔案

cert_file:乙個包含pem格式的認證檔案

other:其它同http引數

例項:

返回:同樣返回乙個httpsconnection物件

注意:要建立https鏈結,必須要保證底層的socket模組是支援ssl的編譯模式,即編譯時ssl選項的開關是開著的

3、httpconnection物件request方法:

說明:傳送乙個請求

原型:conn.request(method, url[, body[, headers]])

method: 請求的方式,如'get','post','head','put','delete'等

url: 請求的網頁路徑。如:'/index.html'

body: 請求是否帶資料,該引數是乙個字典

headers: 請求是否帶頭資訊,該引數是乙個字典,不過鍵的名字是指定的http頭關鍵字

例項:

conn.request('get', '/', '', )

返回:

無返回,其實就是相對於向服務其傳送資料,但是沒有最後回車

4、httpconnection物件getresponse方法

說明:獲取乙個http響應物件,相當於執行最後的2個回車

原型/例項:

res = conn.getresponse()

返回:httpresponse物件

5、httpconnection物件close()方法

說明:關閉指定的httpconnect鏈結

例項

conn.close()

6、httpresponse物件read方法

說明:獲得http響應的內容部分,即網頁原始碼

原型:body = res.read([amt])

amt: 讀取指定長度的字元,預設為空,即讀取所有內容

例項:

body = res.read()  

pbody = res.read(10)

返回:

網頁內容字串

7、httpresponse物件的其它方法或屬性

方法:getheaders()

獲得所有的響應頭內容,是乙個元組列表[(name,value),(name2,value2)]

getheader(name[,default])

獲得指定的頭內容

fileno()

socket的fileno

屬性:msg

所有的頭資訊,和getheaders方法一樣,只不過這個是原始未處理的字串

status

當次請求的狀態

version

當次請求的http協議版本,10是http1.0, 11是http/1.1

reason

當次請求的結果的表述內容,200是ok,404是not found

總體例項:

python httplib模組使用

無意中發現了乙個巨牛的人工智慧教程,忍不住分享一下給大家。教程不僅是零基礎,通俗易懂,而且非常風趣幽默,像看 一樣!覺得太牛了,所以分享給大家。點這裡可以跳轉到教程。httplib是乙個相對底層的http請求模組,其上有專門的包裝模組,如urllib內建模組,goto等第三方模組,但是封裝的越高就越...

python httplib學習筆記

httplib是乙個相對底層的http請求模組,其上有專門的包裝模組例如urllib內建模組。但是封裝這個東西,越是封裝,越不靈活。urllib模組裡請求錯誤時就不會返回結果頁的內容,只有頭資訊,對於某些需要進行錯誤請求返回值檢查的場景就不適用。class httplib.httpconnectio...

任務模組 報告模組 日誌模組

需求背景 報告模組 怎麼來處理這個報告的問題,報告是非常重要的一塊,1,可以看到每一次執行的情況,多少通過了,多少失敗了 2,可以看到執行的日誌,每一步的日誌,失敗了,我要知道失敗在 了,3,每次都要有報告 業務設計 1,任務列表,任務名稱,檢視任務詳情,報告列表,執行的功能,2,任務詳情,每乙個用...