1. 程式人生 > >urllib2獲取CGI請求的數據

urllib2獲取CGI請求的數據

模塊 數據 open rdquo ima 參數 author 版本 -a

import urllib.request as urllib2

headers = {
    ‘Authorization‘: ‘Basic YWRtaW46YWRtaW4=‘,
  }#需要身份驗證時,在請求時加一個headers,模擬IE瀏覽器提交請求
url = ‘http://10.82.21.210/cgi/sys_get?Group=DeviceInfo‘   # 查看版本號
resp = urllib2.Request(url,headers=headers)
response = urllib2.urlopen(resp)
html = response.read()
b = str(html).split("<Firmware><string>")
result = b[1].split("</string></Firmware>")
version = result[0]  # 版本號
print(version)

支持需要身份驗證的請求的模塊有以下幾個:httplib2,urllib2,requests,pycurl

headers——是字典類型,頭字典可以作為參數在request時直接傳入,也可以把每個鍵和值作為參數調用add_header()方法來添加。

作為辨別瀏覽器身份的User-Agent header是經常被用來惡搞和偽裝的,因為一些HTTP服務只允許某些請求來自常見的瀏覽器而不是腳本,或是針對不同的瀏覽器返回不同的版本。

例如,Mozilla Firefox瀏覽器被識別為“Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11”。

默認情況下,urlib2把自己識別為Python-urllib/x.y(這裏的xy是python發行版的主要或次要的版本號,如在Python 2.6中,urllib2的默認用戶代理字符串是“Python-urllib/2.6。

技術分享圖片

urllib2獲取CGI請求的數據