gpt4 book ai didi

Python urlopen 连接中止 - urlopen 错误 [Errno 10053]

转载 作者:太空狗 更新时间:2023-10-30 00:15:30 30 4
gpt4 key购买 nike

我有一些代码使用 mechanize 和 beautifulsoup 来抓取一些数据。该代码在测试机器上运行良好,但生产机器正在阻止连接。我得到的错误是:

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

我已经通读了类似的帖子,但找不到这个确切的错误。我试图抓取的网站是 HTTPS,但我也遇到过 HTTP 网站出现同样的错误。我正在使用 python 2.6 和 Mechanize 0.2.4。

这是由于代理,还是如错误所说,是我本地机器上的问题?我写了 for mechanize 来使用系统的代理:

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 异常列表中。异常(exception)列表是我允许连接到互联网的文件列表。一旦它被添加到列表中,我就能够与脚本建立网络连接并且没有进一步的问题。测试机器没有安装 HIDS 客户端,所以它允许我说出来。仅供引用,两者都有防火墙,但只有一台(生产机器)有 HIDS。

HIDS 代表基于主机的入侵检测系统。如果网络安全团队已将 HIDS 设置为对您不可见,您可能不知道在哪里可以找到它。此外,即使找到它,您也无法将其禁用。您可以询问您的安全团队是否可以为您的脚本添加异常(exception)。绕过 HIDS 的另一种偷偷摸摸的方法是将您的脚本构建到一个 exe(使用 Py2EXE)并将您创建的可执行文件重命名为 HIDS 异常列表中已有的名称。将其重命名为您的浏览器是一个不错的选择,因此如果允许 Firefox 访问互联网,请将您的 exe 重命名为 firefox.exe。

关于Python urlopen 连接中止 - urlopen 错误 [Errno 10053],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250183/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com