クライアントの設定は簡単です。PERLによる自動フォーム提出 - デバッグ!
Page Aには、クエリ結果を表示するページBに送信するフォームがあります。残念ながら、データを取得するための他のAPIやDBアクセスはありません。
このクエリを頻繁に実行する必要があるため、この提出をPerlで自動化することにしました。
ページAのフォームキー値のペアをスニッファと判断し、コードを複製しました。しかし、プログラムBを実行すると、追加の意味のある説明なしでHTTP 500エラーがスローされます。
このコードをデバッグするためのポインタはありますか?自身のコードは単純です:
use strict; use warnings; use LWP; my $browser = LWP::UserAgent->new; my $url = "targeturl.asp" my $response = $browser->post($url, [ "HisSort" => "1", "RTsort" => "", "chkHisRun" => "on", "chkRTRun" => "on", "optAdHoc" => "on", "optHist" => "", "optServer" => "servername", "optStatus" => "", "optWhat" => "H", "txtEnd" => "", "txtFields" => "1,0,10,17,11,18,24,19,21,25,1", "txtHEnd" => "11/3/2010", "txtHStart" => "11/1/2010", "txtServer" => "", "txtStart" => "", ] );
注: 私は、ページAまたはページBのソース
完全なURLを入力してください。 – Benoit
同じリクエストを送信していた場合は、同じ応答が返されます。したがって、あなたの要求がブラウザのどこと異なるかを知る必要があります。たとえば、クッキーはありますか?あなたのPerlスクリプトは、ブラウザに一致するヘッダーを設定しようとしていないようです。おそらく、ページBがUser-Agentを解析できません。 –
また、UserAgent文字列($ browser-> agent( "..."))または以前に受信したクッキー... – gangabass