が、私はこのperl5のプログラムを実行しようとした:一方LWP :: UserAgentのHTTP基本認証
#!/usr/bin/env perl
use strict;
use warnings;
use LWP;
my $ua = LWP::UserAgent->new('Mozilla');
$ua->credentials("test.server.com:39272", "realm-name", 'user_name', 'some_pass');
my $res = $ua->get('http://test.server.com:39272/');
print $res->content;
私が持っているHTTPを::デーモン:
#!/usr/bin/env perl
use strict;
use warnings;
use HTTP::Daemon;
my $hd = HTTP::Daemon->new or die;
print "Contact URL: ", $hd->url, "\n";
while (my $hc = $hd->accept) {
while (my $hr = $hc->get_request) {
if ($hr->method eq 'GET') {
print $hr->as_string, "\n";
}
}
$hc->close;
undef($hc);
}
そして、それだけでプリント:
Contact URL: http://test.server.com:39272/
GET/HTTP/1.1
Connection: TE, close
Host: test.server.com:39272
TE: deflate,gzip;q=0.3
User-Agent: libwww-perl/6.03
私はLWP :: UserAgentがHTTP Basic authを送信しないことを知っていますが、理由はわかりません。
私はこのウェブサイト上でいくつかの記事を見て、彼らはこれと同じ基本的なコードを持っている、と私はHTTP ::リクエストを使用している場合、それは 仕事...
は、それが動作しません:
my $req = GET 'http://test.server.com:39272/';
$req->authorization_basic('my_id', 'my_pass');
my $res = $ua->request($req);
を
出力:
GET/HTTP/1.1
Connection: TE, close
Authorization: Basic bXlfaWQ6bXlfcGFzcw==
Host: test.server.com:39272
TE: deflate,gzip;q=0.3
User-Agent: libwww-perl/6.03
は私が間違っているの前に何かをやっていましたか?
あなたは基本的な認証を要求された401応答を取得しましたか?あなたは本当に領土を手に入れましたか?要求だけでなく、要求 - 応答チェーンを表示します。 – ikegami
私は要求と応答のためのコードを入れました。そして私は401応答を得た。レルムの質問について理解していない、私はそれがいかに重要であるかはわかりません。 – XoR
私は今知っている、私はWWWを返す必要があります - 認証:基本領域= "セキュア領域"、次にLWP :: UserAgentは動作しますか? – XoR