2012-04-22 15 views
2

パラメータの送信方法を取得します。通常は、リクエストを行い、Firebugのparamsタブで送信されたパラメータを確認することです。しかし、私は次のサイト(http://www.infraero.gov.br/voos/index_2.aspx)でこれを実行しようとすると、動作しません - カールを使用してこのリクエストを繰り返すためのパラメータは何かわかりません。どうすれば入手できますか?私は確信していませんが、私はクッキーが使用されていると思います。cURLを使用してリクエストを再現する方法

EDIT

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

+0

投稿を使用しています...パラメータはありません。 HTTPfoxまたはfirebugの 'net'タブを使用して低レベルのhttp通信を表示すると、何がワイヤを通過しているのかが正確にわかります。 –

+0

リクエストヘッダのみを表示し、その内容は表示しません。このリクエストをカールで再生するには、どのように必要な情報を入手できますか? –

+1

POSTデータはヘッダーではなく要求の本体に格納されます。例えばHTTPFoxの "Content"タブを見てください。 –

答えて

1

この前の質問cURL post data to asp.net pageを見ましたか?それはすぐに質問に答えるかもしれません(私がしたのは検索 "ASP.NET cURL"でした)。そして、この1つ:Unable to load ASP.NET page using Python urllib2はPythonについて語りますが、それはcURLに変換するべき方法でそれに近づいています。

私の0.02ドルでは、ASP.NETと__VIEWSTATEとjavascriptを解きほぐしても構いません。 cURLを使用することは絶対条件ですか?

実際のブラウザのように動作し、JavaScriptを理解しているクライアントを使用する方がよいと思います。それはちょっとした仕事ですが、聞こえるほど悪くはありません。私はhttp://watirwebdriver.com/と短いRubyスクリプトでこれをやっています。 Python and Mechanizeでこれを行う方法です(これは多少軽量です)。 http://phantomjs.org/は、javascriptを使用してスクリプトを作成する別のオプションです。あなたがGoogleの "Scraping ASP.NET"の場合、これは一般的な問題であることがわかります。

0

あなたはそれが行わたいか言ってませんでしたが、あなたは、単にカール-d NAME1 = contents1 & NAME2 = contents2 [のTargetURL]など

注おそらく最初の必要性とカールとのリクエストを送信することができますメインページを取得し、 "__VIEWSTATE"フォームフィールドを抽出し、その(非常に巨大な)内容を提出して、提出を受け入れます。

+0

はい、投稿リクエストをカールする方法を知っています。私は自分の問題が「__VIEWSTATE」であると信じています。私はASPに慣れていないので、それが何であるか、それをどう対処するのか分かりません。 「ショートカット」はありますか?私はそれを深く学ぶことなくリクエストを送ることができますか? –

+0

隠しフォームフィールドとして入力されているので、カールリクエストで送信する必要があると想定できます。 HTMLページを取得し、__VIEWSTATE値を抽出し、カール要求で渡してください。 –

関連する問題