MySQL 5.7 進修心得之平安相干特征。本站提示廣大學習愛好者:(MySQL 5.7 進修心得之平安相干特征)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL 5.7 進修心得之平安相干特征正文
httplib 是 python中http 協定的客戶端完成,可使用該模塊來與 HTTP 辦事器停止交互。httplib的內容不是許多,也比擬簡略。以下是一個異常簡略的例子,應用httplib獲得谷歌首頁的html:
#coding=gbk import httplib conn = httplib.HTTPConnection("www.谷歌.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, 表現在沒法解析辦事器前往的狀況行時( status line) (比擬典范的狀況行如: HTTP/1.0 200 OK ),能否拋BadStatusLine 異常;可選參數timeout 表現超不時間。
HTTPConnection供給的辦法:
HTTPConnection.request ( method , url [ , body [ , headers ]] )
挪用request 辦法會向辦事器發送一次要求,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()來創立,它有以下辦法和屬性:
HTTPResponse.read([amt])
獲得呼應的新聞體。假如要求的是一個通俗的網頁,那末該辦法前往的是頁面的html。可選參數amt表現從呼應流中讀取指定字節的數據。
HTTPResponse.getheader(name[, default])
獲得呼應頭。Name表現頭域(header field)名,可選參數default在頭域名不存在的情形下作為默許值前往。
HTTPResponse.getheaders()
以列表的情勢前往一切的頭信息。
HTTPResponse.msg
獲得一切的呼應頭信息。
HTTPResponse.version
獲得辦事器所應用的http協定版本。11表現http/1.1;10表現http/1.0。
HTTPResponse.status
獲得呼應的狀況碼。如:200表現要求勝利。
HTTPResponse.reason
前往辦事器處置要求的成果解釋。普通為”OK”
上面經由過程一個例子來熟習HTTPResponse中的辦法:
#coding=gbk import httplib conn = httplib.HTTPConnection("www.g.cn", 80, False) conn.request('get', '/', headers = {"Host": "www.谷歌.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跟蹤到呼應頭:
Httplib模塊中還界說了很多常量,如:
Httplib. HTTP_PORT 的值為80,表現默許的端標語為80;
Httplib.OK 的值為200,表現要求勝利前往;
Httplib. NOT_FOUND 的值為404,表現要求的資本不存在;
可以經由過程httplib.responses 查詢相干變量的寄義,如:
Print httplib.responses[httplib.NOT_FOUND] #not found