기본 인증이 필요한 https 웹 사이트로 이동하려고하면 다음 프로그램이 실패합니다. Mojolicious UA에서 기본 인증 실패의 원인이되는 암호의 특수 문자
use Mojo::UserAgent;
my $ua = Mojo::UserAgen->new;
my $user = "foobar";
my $pass = "Cant#change";
my $url = "https://$user:$pass\@site.foo.com";
my $tx = $ua->get($url);
if (my $res = $tx->success) {
say $res->body;
}
else {
my ($message, $code) = $tx->error;
say $code ? "$code response $message" : "Connection error: $message";
}
내가 MOJO_USERAGENT_DEBUG = 1로 실행
나는 다음과 같은 출력을 얻을 :-- Blocking request (https://foobar:cant#[email protected])
-- Connect (https:foobar:Cant:443)
Connection error: Couldn't connect
이 Mojolicious 3.35은 CPAN에서 업데이트 사용합니다. 불행히도 암호에는 "특수 문자"(ascii #! @ %^& 등)가 포함될 수 있으며 #을 포함하지 않는 암호로 변경하는 것은 옵션이 아닙니다. 웹 서버는 웹 브라우저에서 요청을 올바르게 처리하므로 웹 서버 구성 문제라고 생각하지 않습니다.
그래서 Mojo에서이 작업을 수행 할 수있는 또 다른 방법이 있습니까?
. 감사. – Todd