【发布时间】:2015-09-23 09:56:18
【问题描述】:
Plack 套件通常使用http://0:port。例如。以下
plackup -MPlack::App::Directory -e 'Plack::App::Directory->new(root=>".");'
打印
HTTP::Server::PSGI: Accepting connections at http://0:5000/
但是,LWP::UserAgent(或一些更深层次的模块)不接受它,例如该:
perl -MLWP::UserAgent -E '$u=LWP::UserAgent->new;$res=$u->get("http://0:5000/valid/path");print $res->status_line'
打印:
500 No Host option provided
但是
perl -MLWP::UserAgent -E '$u=LWP::UserAgent->new;$res=$u->get("http://localhost:5000/valid/path");print $res->status_line'
打印
200 OK
问题是:谁错了?
-
http://0:port是否有效,例如LWP 是“错误的” - 或者它是无效的并且 PSGI 使用它作为唯一的“随机有效”快捷方式?
【问题讨论】:
-
本地主机不是地址
0,它(通常)是127.0.0.1。尝试 pinglocalhost以查看实际地址。 -
@JoachimPileborg 好的,编辑了问题标题。 :) 问题的优点仍然存在:网址
http://0:5000是否有效?可以/应该使用还是不使用? -
Address
0是服务器在侦听来自所有接口的连接时使用的通配符地址。尝试连接它是没有意义的。