我已经从 Mint 转到 Fedora,我原来的一个脚本不再起作用:
wget -t 1 localhost:52199/MCWS/v1/Playback/PlayPause?Zone=-1&ZoneType=ID
返回
Failed to send 233 bytes (hostname='localhost', ip=::1, errno=111)
问题出在 localhost 上。我可以使用 wget 从不涉及 localhost 的地址(例如www.google.com )返回。我可以在任何浏览器中访问该位置。我无法访问使用 SimpleHTTPServer 设置的其他 localhost 地址。
我可以通过用我的 inet IP 替换“localhost”来实现这一点,但我想解决问题,因为它似乎会导致其他问题。
127.0.0.1:52199/MCWS/v1/Playback/PlayPause?Zone=-1&ZoneType=ID
getent 似乎返回了它应该返回的内容:
name@fedora:~$ getent hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 localhost localhost.localdomain localhost6 localhost6.localdomain6
name@fedora:~$ getent hosts foo.localhost
::1 localhost
在尝试 IPv4 之前,Fedora 似乎就(正确地)解析
localhost
为 IPv6::1
。我的猜测是您的 HTTP 守护进程没有绑定到 IPv6 地址,因此不会被询问。
但这
getent hosts
不是用来解析名称的!