httplib 是 python中http 協議的客戶端實現,能夠使用該模塊來與 HTTP 服務器進行交互。html
下面詳細介紹httplib提供的經常使用類型和方法。python
HTTPConnection類的構造函數,表示一次與服務器之間的交互,即請求/響應。參數host表示服務器主機, 如:www.csdn.net;port爲端口號,默認值爲80; 參數strict的 默認值爲false, 表示在沒法解析服務器返回的狀態行時( status line) (比較典型的狀態行如: HTTP/1.0 200 OK ),是否拋BadStatusLine 異常;可選參數timeout 表示超時時間。
HTTPConnection提供的方法:服務器
調用request 方法會向服務器發送一次請求,method 表示請求的方法,經常使用有方法有get 和post ;url 表示請求的資源的url ;body 表示提交到服務器的數據,必須是字符串(若是method 是"post" ,則能夠把body 理解爲html 表單中的數據);headers 表示請求的http 頭。函數
獲取Http 響應。返回的對象是HTTPResponse 的實例,關於HTTPResponse 在下 面 會講解。post
鏈接到Http 服務器。url
關閉與服務器的鏈接。.net
設置高度的級別。參數level 的默認值爲0 ,表示不輸出任何調試信息。debug
HTTPResponse表示服務器對客戶端請求的響應。每每經過調用HTTPConnection.getresponse()來建立,它有 以下方法和屬性:調試
獲取響應的消息體。若是請求的是一個普通的網頁,那麼該方法返回的是頁面的html。可選參數amt表示從響應流中讀取指定字節的數據。code
獲取響應頭。Name表示頭域(header field)名,可選參數default在頭域名不存在的狀況下做爲默認值返回。
以列表的形式返回全部的頭信息。
獲取全部的響應頭信息。
獲取服務器所使用的http協議版本。11表示http/1.1;10表示http/1.0。
獲取響應的狀態碼。如:200表示請求成功。
返回服務器處理請求的結果說明。通常爲」OK」
若是要模擬客戶端進行請求,還能夠在發送請求的時候攜帶頭數據(HTTP header)
headers = {"Content-Type":"text/html; charset=gb2312"}
conn.request('POST', '/', headers=headers)
除了頭數據,還能夠在POST的時候帶請求參數
params = urllib.urlencode({'pname':'pvalue'}); conn.request('POST', '/', body=params)