我在 OS X 上运行一些代码(Perl 的 WWW::Mechanize 模块),但它一直挂在简单的 HTTPGET
请求上http://localhost:5000/
。我的服务器很好,但响应时间以分钟为单位。
如果我将其切换到http://127.0.0.1:5000/
,服务器会立即响应,因此看起来它与使用主机名有关。
这是 macOS Sierra,运行版本 10.12.1。/etc/hosts
如下所示:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
我的所有浏览器都可以立即连接, 也是如此wget
,但是curl
会出现以下情况:
$ curl http://localhost:5000/login
curl: (7) Failed to connect to localhost port 5000: Connection refused
但是,如果我将其切换为curl http://127.0.0.1:5000/login
,它就可以正常工作。