在Windows 7上请求本地主机时,Python的urllib2.urlopen速度明显较慢。

5
我第一次在Windows 7机器上运行一些Python代码,并注意到与以前相比,这个对本地服务器的http请求要慢得多:

result = urllib2.urlopen("http://localhost:3000/somepath").read()

这样重复调用每次都需要花费大约一秒钟的时间来返回结果。如果我将“localhost”替换为“127.0.0.1”,则会像以前一样立即返回(当时使用的是Mac OS)。

虽然不是什么大问题,但我很好奇它的原因是什么。

如果这是DNS问题,为什么没有被缓存呢?


更新:从hosts文件中取消注释此行可以解决症状:127.0.0.1 localhost。 - yotam.shacham
使用数字IP地址可以避免进行DNS查找。 - tarashish
有道理。我在想为什么它没有被缓存。 - yotam.shacham
1个回答

1
根据yotam.shacham的评论,这个问题可以通过从Windows hosts文件中取消注释此行来解决:
127.0.0.1 localhost

在Windows 7上,`hosts`文件位于

%SystemRoot%\system32\drivers\etc\hosts

%SystemRoot%通常C:\WINDOWS


请查看这个问题,了解我为什么要回答一个旧帖子。 - Ricardo Altamirano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接