Python urllib2 proxy

在 正式并入某大公司之后,网络必须设置为统一的proxy,好的方面没看到,但是立即让我一的一个小工具不能工作了。
在之前使用urllib2库,无需设置proxy,一切工作正常。在必须使用proxy之后,遇到了一系列的问题

1. 使用urllib2的proxy

import urllib2

enable_proxy = True
proxy_handler = urllib2.ProxyHandler({"http" : 'your_proxy'})
null_proxy_handler = urllib2.ProxyHandler({})

if enable_proxy:
    opener = urllib2.build_opener(proxy_handler)
else:
    opener = urllib2.build_opener(null_proxy_handler)

urllib2.install_opener(opener)

 
结果得到错误如下:
URLError: <urlopen error [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>
2. 使用requests

import requests
r = requests.get("http://www.google.com", proxies={"http": "your_proxy"})
print r.text

 结果:
可以访问,但是内容不对

3. 使用requests的proxy

r = requests.get('http://www.thepage.com', proxies={"http":"your_proxy"})
print r.content

 4. 使用https_proxy

import requests

proxies = {
  "http": "your_http_proxy",
  "https": "your_https_proxy",
}

r = requests.get("http://www.google.com", proxies=proxies)
print r.content

 结果:
可以访问,内容不对
4. 使用selenium

from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url)
html_resource = driver.page_source

 结果:可以访问,内容正确

posted @ 2014-04-26 09:21  小楼  阅读(8068)  评论(0编辑  收藏  举报