2015-04-20 217 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