Skip to main content
 首页 » 编程设计

python之urllib2 超时

2025年05月04日10zengkefu

我正在为我的代码使用 urllib2 库,我正在使用很多 (urlopen) 编辑:loadurl

我的网络有问题,当我浏览网站时,有时我的浏览器会卡在“正在连接”到某个网站,有时我的浏览器会返回超时

我的问题是,如果我在我的代码中使用 urllib2,它可能会在尝试连接到某个网站的时间过长时超时,或者代码会卡在那条线上。

我知道 urllib2 可以在不在代码中指定的情况下处理超时,但它可以适用于这种情况吗?

谢谢你的时间

编辑:

def checker(self) 
 try: 
   html = self.loadurl("MY URL HERE") 
   if self.ip_ != html: 
(...) 
 except Exeption, error: 
   html = "bad" 

请您参考如下方法:

根据我的小研究,python 2.6 中添加了 urllib2.urlopen() 函数

因此,应该通过将自定义超时发送到 urllib2.urlopen 函数来解决超时问题。代码应该是这样的;

response = urllib2.urlopen( "---insert url here---", None, your-timeout-value)

your-timeout-value 参数是一个可选参数,它以秒为单位定义超时。

编辑:根据您的评论,我知道您不需要等待太久的代码,那么您应该使用以下代码以免卡住;

import socket 
import urllib2 
 
socket.setdefaulttimeout(10) 

10 可以根据与连接速度和网站加载时间相关的数学公式进行更改。