【问题标题】:python urllib2.urlopen much slower on Windows 7 when asking for localhostpython urllib2.urlopen 在 Windows 7 上请求本地主机时要慢得多
【发布时间】:2012-07-09 01:05:51
【问题描述】:

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

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

这被重复调用,每次都不是立即返回,而是需要大约一秒钟。 如果我用 127.0.0.1 替换 localhost,它会像以前一样立即返回(在 Mac OS 上)。

没什么大不了的,但很好奇原因。

如果是DNS,为什么不缓存?

【问题讨论】:

  • 更新:从主机文件中取消注释此行修复了症状:127.0.0.1 localhost
  • 使用数字 IP 地址可避免 DNS 查找
  • 嗯是有道理的。我想知道为什么它没有被缓存。

标签: python windows-7


【解决方案1】:

根据yotam.shacham's 的注释,可以通过从 Windows hosts 文件中取消注释此行来解决此问题:

127.0.0.1 localhost

在 Windows 7 上,`hosts 文件位于

%SystemRoot%\system32\drivers\etc\hosts

其中%SystemRoot%normally C:\WINDOWS

【讨论】:

  • 请参阅 this question 了解我为什么要回复旧帖子。
猜你喜欢
  • 2015-03-14
  • 1970-01-01
  • 2014-08-11
  • 2019-08-15
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多