urllib2自定義構建代理handler之公開代理的使用(不需要授權)

 在https://blog.csdn.net/myli_binbin/article/details/99759031中提到,當使用自定義handler時,生成opener後,要調用opener的open方法去發送請求,這篇文章提到如何使用自定義handler後繼續使用urlopen方法發送請求

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib2

# 代理開關,表示是否啓用代理
proxyswitch = True

# 構建一個Handler處理器對象,參數是一個字典類型,包括代理類型和代理服務器IP+PROT
httpproxy_handler = urllib2.ProxyHandler({"http": "116.21.122.236:808"})

# 構建了一個沒有代理的處理器對象
nullproxy_handler = urllib2.ProxyHandler({})

if proxyswitch:
    opener = urllib2.build_opener(httpproxy_handler)
else:
    opener = urllib2.build_opener(nullproxy_handler)

# 構建了一個全局的opener,之後所有的請求都可以用urlopen()方式去發送,也附帶Handler的功能
urllib2.install_opener(opener)

request = urllib2.Request("http://www.baidu.com/")
response = urllib2.urlopen(request)

print response.read()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章