Python urllib2.urlopen错误:超时错误导致我的Internet连接中断?

Python urllib2.urlopen错误:超时错误导致我的Internet连接中断?,python,urllib2,urlopen,Python,Urllib2,Urlopen,我不知道我是否做错了什么,但我100%肯定是python脚本破坏了我的互联网连接 我编写了一个python脚本,使用HEAD请求获取数千个文件的头信息,主要是内容长度,以获得每个文件的确切大小 示例代码: class HeadRequest(urllib2.Request): def get_method(self): return "HEAD" response = urllib2.urlopen(HeadRequest("http://www.google.com"

我不知道我是否做错了什么,但我100%肯定是python脚本破坏了我的互联网连接

我编写了一个python脚本,使用HEAD请求获取数千个文件的头信息,主要是内容长度,以获得每个文件的确切大小

示例代码:

class HeadRequest(urllib2.Request):
    def get_method(self):
        return "HEAD"

response = urllib2.urlopen(HeadRequest("http://www.google.com"))
print response.info()
事情是在运行几个小时后,脚本开始抛出urlopen错误超时,我的互联网连接从此中断。在我关闭脚本后,我的互联网连接将始终立即恢复。起初我认为可能是连接不稳定,但运行了几次后,结果证明是脚本错误

我不知道为什么,这应该被视为一个bug,对吗?还是我的ISP禁止我做这样的事情?(我已经将程序设置为每次请求等待10秒)


顺便说一句,我使用的是VPN网络,这与此有关吗?

我猜可能是您的ISP或VPN提供商因为大量可疑流量而限制了您,或者是您的路由器或VPN隧道被半开放的连接堵塞了。消费者互联网并不是为蜘蛛类活动而设计的

“脚本开始抛出urlopen错误超时”

我们甚至无法开始猜测

您需要在计算机上收集数据,并将这些数据包含在问题中

换一台电脑。运行脚本。另一台计算机的internet访问是否也被阻止?还是仍然有效

  • 如果两台计算机都被阻止,那不是你的软件,而是你的提供商使用此信息更新您的问题,以及您是如何得到它的

  • 如果只有运行脚本的计算机停止,那不是您的提供商,而是您的操作系统资源耗尽。这很难诊断,因为它可能是内存、套接字或文件描述符。通常是它的插座


您需要为您的操作系统找到一些ifconfig/ipconfig诊断软件。您需要更新您的问题,以准确说明您使用的操作系统。您需要使用此诊断软件来查看有多少打开的插槽塞满了您的系统。

“从那时起,整个互联网都瘫痪了”,这就是为什么我的电脑速度如此之慢的原因。等Facebook发现你的消息再说吧。PLI不是keelin da internatz@洛特:你是什么意思?为什么是Facebook?我的意思是我的互联网坏了,不是“整个”…@Shane——“互联网坏了!”是著名的愚蠢的支持电话,打电话的人通常要求很高,这让不精确的情况更加令人恼火。所以,每次你说“互联网断了!”而不是“我的互联网连接断了”,都要准备好这样的回答。
再次:如果你收到这条消息,请回复哦,所以我想我们不允许做谷歌做的事情。。。为什么他们能做到这一点,而我们却做不到,你必须为此付出很多吗?你所说的半开放连接是什么意思?我只使用一个线程来完成这样的任务thing@Shane-根据NAT实现,它可能会保留一组关于连接的信息,即使在连接关闭后很短的时间内。问题很快就解决了,这一事实对我来说强烈表明了这种问题,而不是任何形式的ISP节流。如果您只是在每个连接之间稍作停顿,它应该可以工作。@Omnifarious:那么,我能做些什么来配置NAT设置以使其工作呢?这看起来像是非常标准的代码。例如,如果您有一个shell脚本重复运行此代码,或者您的网络硬件挂在连接上,则会导致半开放连接。如果您一次只执行一个这样的连接,那么它们可能不是问题。如果你可以使用不同的操作系统,我会在那里试用,看看你的结果是否有变化。