簡體   English   中英

Python urlopen連接中止 - urlopen錯誤[Errno 10053]

[英]Python urlopen connection aborted - urlopen error [Errno 10053]

我有一些代碼使用mechanize和beautifulsoup來抓取一些數據。 代碼在測試機器上工作正常,但生產機器阻止了連接。 我得到的錯誤是:

urlopen error [Errno 10053] An established connection was aborted by the software in your host machine

我通過類似的帖子閱讀,我找不到這個確切的錯誤。 我試圖抓取的網站是HTTPS,但我也遇到了與HTTP網站相同的錯誤。 我使用python 2.6並機械化0.2.4。

這是由於代理還是,正如錯誤所說,我的本地機器上的東西? 我已經寫了機械化來使用系統的代理:

br = mechanize.Browser()
br.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1')]
br.set_proxies({}) #will use system default proxy
page = br.open(url)
html = page.read()
soup = BeautifulSoup.BeautifulSoup(html)

同樣,這一切都適用於我的測試機器,但是生產機器給出了錯誤10053。

這里的問題是基於主機的IDS阻止了連接。 問題解決了。

我將我的python腳本添加到HIDS例外列表中。 例外列表是我允許連接到互聯網的文件列表。 一旦它被添加到列表中,我就能夠通過腳本獲得網絡連接,並且沒有其他問題。 測試機器沒有安裝HIDS客戶端,這就是為什么它允許我說話。 僅供參考,兩者都有防火牆,但只有一台(生產機器)有HIDS。

HIDS代表基於主機的入侵檢測系統。 如果網絡安全團隊讓您無法看到HIDS,您可能不知道在哪里可以找到它。 此外,即使您找到它,您也無法禁用它。 您可以詢問您的安全團隊是否可以為您的腳本添加例外。 圍繞HIDS的另一個偷偷摸摸的方法是將您的腳本構建到exe(使用Py2EXE)並將您創建的可執行文件重命名為HIDS例外列表中已有的內容。 一個很好的將其重命名為您的瀏覽器,因此如果允許Firefox訪問Internet,請將您的exe重命名為firefox.exe。

Python:網址錯誤: <urlopen error [errno 10060]< div><div id="text_translate"><p> <strong>操作系統:Windows 7;</strong> <strong>Python 2.7.3 使用 Python GUI Shell</strong></p><p> 我正在嘗試通過 Python 閱讀一個網站,並且有幾個作者使用urllib和urllib2庫。 為了將站點存儲在變量中,我看到了一種類似的方法:</p><pre> import urllib import urllib2 g = "http://www.google.com/" read = urllib2.urlopen(g)</pre><p> 最后一行在 120 多秒后生成錯誤:</p><pre> > Traceback (most recent call last): File "<pyshell#27>", line 1, in > <module> > r = urllib2.urlopen(o) File "C:\Python27\lib\urllib2.py", line 126, in urlopen > return _opener.open(url, data, timeout) File "C:\Python27\lib\urllib2.py", line 400, in open > response = self._open(req, data) File "C:\Python27\lib\urllib2.py", line 418, in _open > '_open', req) File "C:\Python27\lib\urllib2.py", line 378, in _call_chain > result = func(*args) File "C:\Python27\lib\urllib2.py", line 1207, in http_open > return self.do_open(httplib.HTTPConnection, req) File "C:\Python27\lib\urllib2.py", line 1177, in do_open > raise URLError(err) 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></pre><p> 我嘗試繞過g變量並嘗試urlopen("http://www.google.com/")也沒有成功(它在相同的時間長度后生成相同的錯誤)。</p></div></urlopen>

[英]Python: URLError: <urlopen error [Errno 10060]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 AppEngine urlopen連接異常終止[Errno 10053] python urlopen 錯誤 [Errno 10060] AdbClient錯誤:[Errno 10053]建立的連接被中止 URLError: <urlopen error [Errno 111] Connection refused> 蟒蛇 urlopen 錯誤 [errno 111] 連接被拒絕 <urlopen error [Errno 54] Connection reset by peer> Urlopen [Errno -2] Python Python:網址錯誤: <urlopen error [errno 10060]< div><div id="text_translate"><p> <strong>操作系統:Windows 7;</strong> <strong>Python 2.7.3 使用 Python GUI Shell</strong></p><p> 我正在嘗試通過 Python 閱讀一個網站,並且有幾個作者使用urllib和urllib2庫。 為了將站點存儲在變量中,我看到了一種類似的方法:</p><pre> import urllib import urllib2 g = "http://www.google.com/" read = urllib2.urlopen(g)</pre><p> 最后一行在 120 多秒后生成錯誤:</p><pre> > Traceback (most recent call last): File "<pyshell#27>", line 1, in > <module> > r = urllib2.urlopen(o) File "C:\Python27\lib\urllib2.py", line 126, in urlopen > return _opener.open(url, data, timeout) File "C:\Python27\lib\urllib2.py", line 400, in open > response = self._open(req, data) File "C:\Python27\lib\urllib2.py", line 418, in _open > '_open', req) File "C:\Python27\lib\urllib2.py", line 378, in _call_chain > result = func(*args) File "C:\Python27\lib\urllib2.py", line 1207, in http_open > return self.do_open(httplib.HTTPConnection, req) File "C:\Python27\lib\urllib2.py", line 1177, in do_open > raise URLError(err) 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></pre><p> 我嘗試繞過g變量並嘗試urlopen("http://www.google.com/")也沒有成功(它在相同的時間長度后生成相同的錯誤)。</p></div></urlopen> Python urlopen IOError:[Errno socket錯誤] [Errno 10060] URLError: <urlopen error [Errno 110] Connection timed out> 代理錯誤
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM