加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – http:// 0:port有什么问题?

发布时间:2020-12-15 21:58:34 所属栏目:大数据 来源:网络整理
导读: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(或一些更深层次的模块)不接受它,例如
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:端口是否有效,例如LWP是“错误的”
>或者它无效,PSGI仅将其用作“随机有效”的快捷方式?

解决方法

Plack套件的输出是服务器的输出.服务器通常是 binds到某个端口和地址的套接字,以便在那里提供内容.
符号http:// 0:port表示在这种情况下: listen在本机所有地址的端口上.如果您不知道或不想指定服务器应该可访问的机器的所有地址,这将非常方便.

LWP :: UserAgent的输出是客户端的输出.要打开与服务器的连接,必须显式指定要连接的地址和端口. 0是无效的IP地址,因此当您connect到http:// 0:port时连接失败.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读