欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用httplib模塊來制作Python下HTTP客戶端的方法

 更新時間:2015年06月19日 09:00:48   作者:DarkBull  
這篇文章主要介紹了使用httplib模塊來制作Python下HTTP客戶端的方法,文中列舉了一些httplib下常用的HTTP方法,需要的朋友可以參考下

httplib 是 python中http 協(xié)議的客戶端實現(xiàn),可以使用該模塊來與 HTTP 服務器進行交互。httplib的內容不是很多,也比較簡單。以下是一個非常簡單的例子,使用httplib獲取google首頁的html:
 

#coding=gbk 
import httplib 
conn = httplib.HTTPConnection("www.google.cn") 
conn.request('get', '/') 
print conn.getresponse().read() 
conn.close()

下面詳細介紹httplib提供的常用類型和方法。
httplib.HTTPConnection ( host [ , port [ , strict [ , timeout ]]] )

HTTPConnection類的構造函數,表示一次與服務器之間的交互,即請求/響應。參數host表示服務器主機,如:www.csdn.net;port為端口號,默認值為80; 參數strict的 默認值為false, 表示在無法解析服務器返回的狀態(tài)行時( status line) (比較典型的狀態(tài)行如: HTTP/1.0 200 OK ),是否拋BadStatusLine 異常;可選參數timeout 表示超時時間。
HTTPConnection提供的方法:
HTTPConnection.request ( method , url [ , body [ , headers ]] )

調用request 方法會向服務器發(fā)送一次請求,method 表示請求的方法,常用有方法有get 和post ;url 表示請求的資源的url ;body 表示提交到服務器的數據,必須是字符串(如果method 是”post” ,則可以把body 理解為html 表單中的數據);headers 表示請求的http 頭。
HTTPConnection.getresponse ()

獲取Http 響應。返回的對象是HTTPResponse 的實例,關于HTTPResponse 在下面 會講解。
HTTPConnection.connect ()

連接到Http 服務器。
HTTPConnection.close ()

關閉與服務器的連接。
HTTPConnection.set_debuglevel ( level )

設置高度的級別。參數level 的默認值為0 ,表示不輸出任何調試信息。
httplib.HTTPResponse

HTTPResponse表示服務器對客戶端請求的響應。往往通過調用HTTPConnection.getresponse()來創(chuàng)建,它有如下方法和屬性:
HTTPResponse.read([amt])

獲取響應的消息體。如果請求的是一個普通的網頁,那么該方法返回的是頁面的html。可選參數amt表示從響應流中讀取指定字節(jié)的數據。
HTTPResponse.getheader(name[, default])

獲取響應頭。Name表示頭域(header field)名,可選參數default在頭域名不存在的情況下作為默認值返回。
HTTPResponse.getheaders()

以列表的形式返回所有的頭信息。
HTTPResponse.msg

獲取所有的響應頭信息。
HTTPResponse.version

獲取服務器所使用的http協(xié)議版本。11表示http/1.1;10表示http/1.0。
HTTPResponse.status

獲取響應的狀態(tài)碼。如:200表示請求成功。
HTTPResponse.reason

返回服務器處理請求的結果說明。一般為”O(jiān)K”

下面通過一個例子來熟悉HTTPResponse中的方法:
 

#coding=gbk 
import httplib 
conn = httplib.HTTPConnection("www.g.cn", 80, False) 
conn.request('get', '/', headers = {"Host": "www.google.cn", 
                  "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1) Gecko/20090624 Firefox/3.5", 
                  "Accept": "text/plain"}) 
res = conn.getresponse() 
print 'version:', res.version 
print 'reason:', res.reason 
print 'status:', res.status 
print 'msg:', res.msg 
print 'headers:', res.getheaders() 
#html 
#print '/n' + '-' * 50 + '/n' 
#print res.read() 
conn.close()

這是我用firebug跟蹤到響應頭:

201561990053721.jpg (369×322)

Httplib模塊中還定義了許多常量,如:

Httplib. HTTP_PORT 的值為80,表示默認的端口號為80;

Httplib.OK 的值為200,表示請求成功返回;

Httplib. NOT_FOUND 的值為404,表示請求的資源不存在;

可以通過httplib.responses 查詢相關變量的含義,如:

Print httplib.responses[httplib.NOT_FOUND]    #not found

相關文章

  • 對python3 一組數值的歸一化處理方法詳解

    對python3 一組數值的歸一化處理方法詳解

    今天小編就為大家分享一篇對python3 一組數值的歸一化處理方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Numpy 理解ndarray對象的示例代碼

    Numpy 理解ndarray對象的示例代碼

    這篇文章主要介紹了Numpy 理解ndarray對象的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python3中使用PyMongo的方法詳解

    Python3中使用PyMongo的方法詳解

    平常在處理數據的時候,必不可少地要使用數據庫存取數據,出于一些原因,個人非常喜歡MongoDB這個數據庫。下面這篇文章主要給大家介紹了Python3中使用PyMongo的方法示例,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • pandas groupby分組對象的組內排序解決方案

    pandas groupby分組對象的組內排序解決方案

    這篇文章主要介紹了pandas groupby分組對象的組內排序解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳解Python使用Plotly繪圖工具,繪制甘特圖

    詳解Python使用Plotly繪圖工具,繪制甘特圖

    這篇文章主要介紹了Python使用Plotly繪圖工具,繪制甘特圖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 使用Python實現(xiàn)生成對角矩陣和對角塊矩陣

    使用Python實現(xiàn)生成對角矩陣和對角塊矩陣

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)生成對角矩陣和對角塊矩陣,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • python實現(xiàn)批量修改圖片格式和尺寸

    python實現(xiàn)批量修改圖片格式和尺寸

    這篇文章主要為大家詳細介紹了python實現(xiàn)批量修改圖片格式和尺寸的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python django框架輸入漢字,數字,字符生成二維碼實現(xiàn)詳解

    Python django框架輸入漢字,數字,字符生成二維碼實現(xiàn)詳解

    這篇文章主要介紹了Python django框架輸入漢字,數字,字符轉成二維碼實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • matplotlib subplot繪制多個子圖的方法示例

    matplotlib subplot繪制多個子圖的方法示例

    這篇文章主要介紹了matplotlib subplot繪制多個子圖的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • numpy中的log和ln函數解讀

    numpy中的log和ln函數解讀

    這篇文章主要介紹了numpy中的log和ln函數解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論