NTLM認証で構成されたIISサーバーに対してLWPを動作させようとしています。 NTLM認証がサーバー上でオフになっている場合、コードは正常に機能するので、ここで唯一の問題はNTLM認証であると仮定します。NTLM認証でLWPを使用する場合のサブルーチンエントリのワイド文字
はこれまでのところ、私は、次があります。
my $ua = LWP::UserAgent->new(agent => "whatever",
timeout => $timeout, keep_alive => 1);
$ua->credentials('hostname:80', '', $username, $password);
my $hdr = HTTP::Headers->new("Content-Type" => "text/xml; charset=UTF-8",
"SOAPAction" => "\"whatever\"");
my $req = HTTP::Request->new("POST" => $url, $hdr, encode_utf8($post));
$res = $ua->request($req);
私はデバッグをオンにした場合、私は次のメッセージを得る:wget
と同じURLにアクセスしようとしている
LWP::UserAgent::new:()
LWP::UserAgent::request:()
LWP::UserAgent::send_request: POST http://hostname
LWP::UserAgent::_need_proxy: Not proxied
LWP::Protocol::http::request:()
LWP::Protocol::http::request: Keep the http connection to hostname:80
LWP::UserAgent::request: Simple response: Unauthorized
LWP::Authen::Ntlm::authenticate: authenticate() has been called
Use of uninitialized value in exists at /usr/lib/perl5/vendor_perl/5.8.5/LWP/UserAgent.pm line 560.
Use of uninitialized value in hash element at /usr/lib/perl5/vendor_perl/5.8.5/LWP/UserAgent.pm line 561.
LWP::Authen::Ntlm::authenticate: In first phase of NTLM authentication
[Thu Apr 12 13:55:28 2012] [error] Wide character in subroutine entry at /usr/lib/perl5/site_perl/5.8.5/Authen/NTLM.pm line 346.\n
LWP::Protocol::collect: read 625 bytes
LWP::UserAgent::request: Simple response: Internal Server Error
が正常に動作します。 MIME::Base64
のドキュメントは$バイトが、私はここに不可欠な何かが足りない
255上記のコードを持つ文字が含まれている場合、エンコード機能がWide character in subroutine entry
とcroakし、またはこれはAuthen::NTLM
にかかわる問題であることができることを言いますか?
を使用し、 'LWP ::のAuthen :: Ntlm'は*モジュールはのAuthen :: NTLMモジュールを活用して言いますマークブッシュ著 もまた、 全く異なるインターフェイスを持つYee Man ChanによってCPANから入手可能な別のAuthen :: NTLMモジュールであるため、正しい NTLMモジュールを持つ必要があります。*これは問題の可能性がありますか? – Borodin
@Borodin:このモジュールは、Mark Bushを著者セクションに記載しています。私はLWPに必要な特定のバージョンもインストールしました。私はAuthen :: NTLM 1.09を持っていましたが、LWPのバージョンは1.02を使用していますが、同じエラーが発生します。 – Vetle
こんにちはVetle :)あなたの '$ username'か' $ password'には万が一非ASCII文字が含まれていますか? – cosimo