Python 某些网站的 headers urllib 超时错误

Python urllib timeout error even with headers for certain websites

我正在编写一个简单的 Python 3 脚本来检索 HTML 数据。这是我的测试脚本:

import urllib.request

url="http://techxplore.com/news/2015-05-audi-r8-e-tron-aims-high.html"

req = urllib.request.Request(
    url, 
    data=None, 
    headers={
        'User-agent': 'Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11',
        'Referer': 'http://www.google.com'
    }
)

f = urllib.request.urlopen(req)

这对大多数网站都适用,但returns某些网站会出现以下错误:

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

脚本中显示的 URL 是 returns 此错误的网站之一。根据其他帖子和网站的研究,似乎手动设置 user-agent and/or referer 应该可以解决问题,但此脚本仍然超时。我不确定为什么这只发生在某些网站上,而且我不知道还能尝试什么。我很感激社区可以提供的任何建议。

今天我又试了一遍这个脚本,没有做任何改动,它运行得很好。看来远程 Web 服务器发生了一些奇怪的事情。