我正在尝试在Python3中向http://google.com发出urllib请求(我在2.7中也使用urllib2重写了它,同样的问题)。下面是我的一些代码:
import urllib.request
from urllib.request import urlopen
import http.cookiejar
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36')]
def makeRequest():
search = 'http://google.com'
print('About to search...')
response = opener.open(search).read()
print('Done')
makeRequest()当我运行这段代码时,它在大约14秒内运行:
real 0m14.386s
user 0m0.087s
sys 0m0.027s这似乎是任何谷歌网站(Gmail,Google Play等)的情况。当我将搜索变量更改为不同的站点时,例如Stackoverflow或Twitter,它的运行时间不到半秒:
real 0m0.277s
user 0m0.085s
sys 0m0.017s有人知道是什么原因导致谷歌反应迟缓吗?
发布于 2015-01-28 14:49:39
首先,您可以使用ping或traceroute将google.com与其他站点的延时进行比较,看看是否存在DNS问题。
其次,您可以使用wireshark来嗅探每个数据包,以查看通信是否有问题。
我想可能是DNS的问题,但我不能确定。
https://stackoverflow.com/questions/28185926
复制相似问题