0

GET変数(クエリ文字列)も含むURLにPOSTリクエストを送信する必要があります。

私は次のことを試しました(これは最もsimepl /論理的な方法のように見えます)が、機能しません:

my $ua = LWP::UserAgent->new;
my $res = $ua->post('http://my.domain/index.pl?login=yes', {
    username => $username, 
    password => $password
});

my.domain / index.plはリクエストを受信しますが、クエリ文字列「?login=yes」を削除するとすぐにリクエストは正しく機能します。

4

1 に答える 1

2
my $res = $ua->post('http://my.domain/index.pl?login=yes', {
    username => $username, 
    password => $password
});

要約すると

use HTTP::Request::Common qw( POST );

my $req = POST('http://my.domain/index.pl?login=yes', {
    username => $username, 
    password => $password,
});

my $res = $ua->request($req);

を使用print $req->as_string();することで、それがあなたがすべきだと言ったことを正確に実行していることがわかります。

POST http://my.domain/index.pl?login=yes
Content-Length: 35
Content-Type: application/x-www-form-urlencoded

password=PASSWORD&username=USERNAME

問題は他の場所にあります。

于 2013-02-22T01:24:45.397 に答える