python - urllib2 超时

标签 python timeout urllib2

我正在为我的代码使用 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 可以根据与连接速度和网站加载时间相关的数学公式进行更改。

关于python - urllib2 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14148341/

相关文章:

c# - 限制 Selenium FindElement() 的超时时间

python - 值错误 : unknown url type

python - VS 代码不显示我的 Conda Python 2 环境

python - Django 无法在 AWS Elastic Beanstalk 负载均衡环境中获取用户 IP

python - 如何向 pandas 数据框添加条件行

c# - 在没有超时的情况下从数据库中提取记录

javascript - jquery在调用函数时定义超时

python - 如何使用 SocksiPy 解开模块?

python - response.info().getencoding() 的实现在 urllib2 中被破坏了吗?

python - Pip "install"安装在 Jython 而不是 python 中