国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

urllib2自定義opener詳解

2019-11-25 18:32:11
字體:
供稿:網(wǎng)友

urllib2.urlopen()函數(shù)不支持驗證、cookie或者其它HTTP高級功能。要支持這些功能,必須使用build_opener()函數(shù)創(chuàng)建自定義Opener對象。

復(fù)制代碼 代碼如下:

build_opener([handler1 [ handler2, ... ]])

參數(shù)handler是Handler實例,常用的有HTTPBasicAuthHandler、HTTPCookieProcessor、ProxyHandler等。

build_opener ()返回的對象具有open()方法,與urlopen()函數(shù)的功能相同。

如果要修改http報頭,可以用:

復(fù)制代碼 代碼如下:

import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open('http://www.example.com/')

2. install_opener(opener)

安裝不同的opener對象作為urlopen()使用的全局opener。

3. 密碼驗證(HTTPBasicAuthHandler)

HTTPBasicAuthHandler()處理程序可用add_password()來設(shè)置密碼。

復(fù)制代碼 代碼如下:

h.add_password(realm,uri,user,passwd)

realm是與驗證相關(guān)聯(lián)的名稱或描述信息,取決于遠程服務(wù)器。uri是基URL。user和passwd分別指定用戶名和密碼。

復(fù)制代碼 代碼如下:

import urllib2
auth=urllib2.HTTPBasicAuthHandler()
auth.add_password('Administrator','http://www.example.com','Dave','123456')
opener=urllib2.build_opener(auth)
u=opener.open('http://www.example.com/evilplan.html')

4. Cookie處理(HTTPCookieProcessor)

復(fù)制代碼 代碼如下:

import urllib2,cookielib
cookie=cookielib.CookieJar()
cookiehand=urllib2.HTTPCookieProcessor(cookie)
opener=urllib2.build_opener(cookiehand)

5.代理(ProxyHandler)

ProxyHandler(proxies)參數(shù)proxies是一個字典,將協(xié)議名稱(http,ftp)等映射到相應(yīng)代理服務(wù)器的URL。

復(fù)制代碼 代碼如下:

proxy=ProxyHandler({'http':'http://someproxy.com:8080'})
auth=HTTPBasicAuthHandler()
auth.add_password()
opener=build_opener(auth,proxy)

也可以在urlopen中使用代理

復(fù)制代碼 代碼如下:

import urllib2 
proxy = 'http://%s:%s@%s' % ('userName', 'password', 'proxy') 
inforMation = urllib2.urlopen("http://www.example.com", proxies={'http':proxy}) 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 水富县| 延寿县| 康定县| 余庆县| 萨迦县| 绥化市| 调兵山市| 柳河县| 民县| 高碑店市| 铁力市| 宁陕县| 横峰县| 洮南市| 报价| 仙桃市| 龙川县| 平利县| 临夏市| 礼泉县| 得荣县| 江西省| 奉新县| 巴林右旗| 鄂伦春自治旗| 新泰市| 米林县| 西峡县| 门源| 池州市| 无锡市| 团风县| 五原县| 涟源市| 嵊州市| 昌江| 图片| 阳泉市| 怀远县| 东山县| 东乡县|