Handler處理器和自定義Opener

2021-08-19 02:41:00 字數 3076 閱讀 9456

response = opener.open(request#將opener應用到全域性,之後所有的,不管是opener.open()還是urlopen() 傳送請求,都將使用自定義**。

# 私密**授權的賬戶

user = ""

# 私密**授權的密碼

passwd = ""

# 私密** ip

proxyserver = "61.158.163.130:16816"

# 1. 構建乙個密碼管理物件,用來儲存需要處理的使用者名稱和密碼

# 2. 新增賬戶資訊,第乙個引數realm是與遠端伺服器相關的域資訊,一般沒人管它都是寫none,後面三個引數分別是 **伺服器、使用者名稱、密碼

passwdmgr.add_password(none, proxyserver, user, passwd)

# 3. 構建乙個**基礎使用者名稱/密碼驗證的proxybasicauthhandler處理器物件,引數是建立的密碼管理物件

# 注意,這裡不再使用普通proxyhandler類了

proxyauth_handler = urllib2.proxybasicauthhandler(passwdmgr)

# 4. 通過 build_opener()方法使用這些**handler物件,建立自定義opener物件,引數包括構建的 proxy_handler 和 proxyauth_handler

opener = urllib2.build_opener(proxyauth_handler)

# 5. 構造request 請求

request = urllib2.request("")

# 6. 使用自定義opener傳送請求

response = opener.open(request)

# 7. 列印響應內容

# 使用者名稱

user = ""

# 密碼

passwd = ""

# web伺服器 ip

webserver = ""

# 1. 構建乙個密碼管理物件,用來儲存需要處理的使用者名稱和密碼

# 2. 新增賬戶資訊,第乙個引數realm是與遠端伺服器相關的域資訊,一般沒人管它都是寫none,後面三個引數分別是 web伺服器、使用者名稱、密碼

passwdmgr.add_password(none, webserver, user, passwd)

# 3. 構建乙個http基礎使用者名稱/密碼驗證的httpbasicauthhandler處理器物件,引數是建立的密碼管理物件

# 4. 通過 build_opener()方法使用這些**handler物件,建立自定義opener物件,引數包括構建的 proxy_handler

# 5. 可以選擇通過install_opener()方法定義opener為全域性opener

urllib2.install_opener(opener)

# 6. 構建 request物件

request = urllib2.request("")

# 7. 定義opener為全域性opener後,可直接使用urlopen()傳送請求

response = urllib2.urlopen(request)

# 8. 列印響應內容

print response.read()

Handler處理器 自定義Opener

在請求裡面,還有兩個高階功能,乙個是 乙個是cookie,學習handler和opener使用的步驟 見 concent 報錯 unicodeencodeerror gbk codec can t encode character xbb in position 30892 illegal mult...

自定義異常處理器

預設處理異常的方式 自定義異常 自定義異常處理器 實現handlerexceptionresolver 把異常處理器注入到springmvc容器中 測試package com.qf.j a2007.ex handlerexceptionresolver 異常處理器的介面 author ghy ver...

自定義全域性異常處理器

import org.springframework.web.bind.annotation.controlleradvice import org.springframework.web.bind.annotation.exceptionhandler import org.springframe...