2

パラメータがどのように送信されているかをキャプチャしたい。通常、私が行うことは、リクエストを作成し、送信されたパラメーターを Firebug の params タブで確認することです。ただし、次のサイト ( http://www.infraero.gov.br/voos/index_2.aspx ) でこれを実行しようとすると、機能しません。 curl を使用してこの要求を繰り返します。どうすれば入手できますか?よくわかりませんが、Cookie が使用されていると思います。

編集

リクエスト内容は取得できましたが、理解できませんでした。適切なリクエストを生成するためにjavascriptを使用しているようです。このリクエストを cURL 経由で再現するにはどうすればよいですか?

4

2 に答える 2

1

この前の質問cURL post data to asp.net pageを見ましたか? それはその場で質問に答えるかもしれません (私がしたのは「ASP.NET cURL」を検索することだけでした)。そしてこれ: Unable to load ASP.NET page using Python urllib2は Pythonについて話していますが、cURL に変換する方法でアプローチしています。

しかし、私の 0.02 ドルでは、ASP.NET と __VIEWSTATE と JavaScript のもつれを解こうとはしません。cURL を使用することは絶対条件ですか?

実際のブラウザのように動作し、javascript を理解するクライアントを使用する方がよいと思います。これは少し手間がかかりますが、思ったほど悪くはありません。http://watirwebdriver.com/と短い Ruby スクリプトを使用してこれを行ったことがあります。これをPython と Mechanizeで行う方法を次に示します(これはおそらくもう少し軽量です)。 http://phantomjs.org/は、javascript を使用してスクリプトを作成する別のオプションです。「Scraping ASP.NET」を Google で検索すると、これが一般的な問題であることがわかります。

于 2012-05-02T01:58:19.040 に答える
0

あなたはそれをどのようにしたいか言いませんでしたが、 curl -d name1=contents1&name2=contents2 [TARGETURL] などで簡単に curl でリクエストを送信できます。

おそらく最初にメイン ページを取得し、"__VIEWSTATE" フォーム フィールドを抽出して、その (非常に巨大な) コンテンツを送信して、送信を承認してもらう必要があることに注意してください。

于 2012-04-26T20:18:36.657 に答える