2015-04-20 187 views
4

基本上,我试图使用python的urllib2。我想连接并从网站获取数据。问题是,我得到的错误urllib2.URLError:<urlopen错误隧道连接失败:403隧道或SSL禁止>

urllib2.URLError: <urlopen error Tunnel connection failed: 403 Tunnel or SSL Forbidden>

重复我的实验与此库后,我发现我写的代码HTTPS行之有效://网站,但无法与HTTP://网站。我读了一些关于堆栈溢出的问题,建议添加标头User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7(以欺骗标头)。

我做到了,但仍然失败。

后,我读这urllib2.HTTPError: HTTP Error 403: Forbidden

我试过,很好,但没有奏效。

这里是我的代码

import urllib2 
url = "http://the_site_i_want_to_connect" 
hdr = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' 
req = urllib2.Request(url , headers=hdr) 
p = urllib2.urlopen(req).read() 
print p 

PS:正如我所说的,这正常工作与HTTPS

请帮帮忙! 在此先感谢!

+2

什么网站你试图访问?我还建议使用请求 –

+0

尝试了几个网站与http://例如。 http://www.nseindia.com –

+0

你从哪里运行它? FWIW我无法复制。如果您已安装请求,请尝试“导入请求;请求.get(url)”。 –

回答

2

这个错误看起来像你的代理设置问题请参考这blog