urllib2 连接超时错误

4 投票
2 回答
18456 浏览
提问于 2025-04-16 00:57

我正在尝试用urllib2打开一个网页,但总是遇到连接超时的错误。
我使用的代码是: f = urllib2.urlopen(url)

具体的错误信息是:

URLError: <urlopen error [Errno 110] Connection timed out>

2 个回答

1

作为一个通用的策略,你可以打开Wireshark这个工具,观察一下通过urllib2.urlopen(url)这个代码产生的网络流量。这样你可能就能找到错误的来源。

4

urllib2 会遵循网站的 robots.txt 文件。很多网站会阻止默认的 User-Agent

你可以尝试添加一个新的 User-Agent,方法是创建 Request 对象,并把它们作为参数传给 urlopen

import urllib2

request = urllib2.Request('http://www.example.com/')
request.add_header('User-agent', 'Mozilla/5.0 (Linux i686)')

response = urllib2.urlopen(request)

网上有很多详细的教程,比如这个:http://www.doughellmann.com/PyMOTW/urllib2/

撰写回答