2

Perlを介してフォームから結果を取得するのにいくつかの問題があります。フォームを見つけて適切なフィールドに必要な値を送信したと思いますが、応答オブジェクトを有用なものに変換する方法がわかりません(印刷すると次のように表示されます)。

HTTP::Request=HASH(0x895b8ac)

関連するコードは次のとおりです($ urlが正しいと仮定します)


    my $ua = LWP::UserAgent->new;
    my $responce = $ua->get($url);
    my @form = HTML::Form->parse($responce);
    my $chosen = $form[0];
    $chosen->value('netid', $user);
    my $ro = $chosen->click('Search');

$ roを便利にするために何ができますか?

ありがとう!

4

1 に答える 1

2

クリックしてHTML::Formドキュメントを引用するには:

クリックした結果はHTTP::Requestオブジェクトであり、サーバーの応答を取得する場合は、このオブジェクトをLWP::UserAgentに渡すことができます。

だからあなたはすることができます:

my $ua = LWP::UserAgent->new;
my $response = $ua->get($url);
my @form = HTML::Form->parse($response);
my $chosen = $form[0];
$chosen->value('netid', $user);
my $ro = $chosen->click('Search');

# If you want to see what you're sending to the server:
print $ro->as_string;

# Fetch the server's response:
$response = $ua->request($ro);

次に何をするか$responseは、何をしようとしているかによって異なります。

PSの「応答」は通常Cなしでつづられます。しかし、HTTPにはつづりの間違いの歴史があります。(私はあなたを見ています、「リファラー」。)

于 2011-04-20T04:27:29.820 に答える