Python中文
首页
教程
问答
标签
搜索
登录
注册
如果socket.setdefaulttimeout()不工作,我该怎么办?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在编写一个脚本(多线程)来从一个网站检索内容,而该网站并不十分稳定,因此时不时会有挂起的http请求,甚至无法通过<code>socket.setdefaulttimeout()</code>进行时间路由。因为我无法控制那个网站,我唯一能做的就是改进我的代码,但我现在已经没有什么想法了。</p> <p>示例代码:</p> <pre><code>socket.setdefaulttimeout(150) MechBrowser = mechanize.Browser() Header = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1 (.NET CLR 3.5.30729)'} Url = "http://example.com" Data = "Justatest=whatever&letstry=doit" Request = urllib2.Request(Url, Data, Header) Response = MechBrowser.open(Request) Response.close() </code></pre> <p>我该怎么做才能迫使绞刑请求退出?实际上,我想知道为什么<code>socket.setdefaulttimeout(150)</code>一开始不起作用。有人能帮我吗?</p> <p><strong>添加:(是的问题仍未解决)</strong></p> <p>好的,我已经遵循了tomasz的建议,并将代码改为<code>MechBrowser.open(Request, timeout = 60)</code>,但是同样的事情发生了。到目前为止,我仍然随机收到一些绞刑请求,有时是几个小时,有时可能是几天。我现在该怎么办?有没有办法迫使这些绞刑请求退出?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以尝试使用<a href="https://bitbucket.org/ianschenck/mechanize-green/src/fc77cf4be0c8/mechanize" rel="nofollow">mechanize with eventlet</a>。它不能解决超时问题,但greenlet是非阻塞的,所以它可以解决性能问题。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
7 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
4 回答
在Python3中使用Script=argv
3 回答
在python3中使用selenium webdriver进行未解析的回溯
8 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
8 回答
在Python3中使用Selenium和Requests模块从网页获取文件
7 回答
在python3中使用SIGINT终止函数
2 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
4 回答
在python3中使用smtplib发送XML内容
10 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
1 回答
在python3中使用sounddevice和numpy编写wav文件
6 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
3 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
2 回答
在python3中使用SQLite的FTS3/4
7 回答
在Python3中使用struct.calcsize()和len()有区别吗?
10 回答
在python3中使用substring函数时发生TypeError
8 回答
在Python3中使用Tkinter entry小部件写入串行设备
5 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
9 回答
在python3中使用tkinter的子帧
6 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
2 回答