3

リダイレクト ページのヘッダーをチェックして 302 ステータスを取得しようとしていますが、私のコードでは、転送されたページの 200 OK ステータスが取得されます。リダイレクト ページ 302 ステータスを取得するにはどうすればよいですか。私のコード:

use LWP::UserAgent;

my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new('GET','http://host.com');
my $res = $ua->request($req);
print $res->status_line;
4

2 に答える 2

7

$ua を初期化した後、その requests_redirectable プロパティを undef に設定します。

$ua->requests_redirectable(undef);

そうすれば、LWP::UserAgent はリダイレクトに従わず、代わりに最初のリクエストの後に停止します。

次に、yoy は以下を使用してコード (「302」、「301」など) を取得できます。

$res->code()

LWP::UserAgentの公式ドキュメントは次のとおりです。

于 2013-02-26T09:42:21.327 に答える
4

$response->previous()チェーン内の前の応答を取得します。

または、リダイレクトを無効にしたい場合は、requests_redirectable => []LWP::UserAgent のコンストラクターに渡します。

于 2013-02-26T09:22:08.140 に答える