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。