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,任務詳情,每乙個用...