1

全体的な目標は、Web ページhttp://www.cma-cgm.com/eBusiness/Tracking/Default.aspxでコンテナ値 CMAU1173561 を使用して検索を実行することです。私は 2 つのアプローチ、php 拡張 cURL と python の機械化を試しました。アプローチされたphpには、ページにある入力フィールドを使用してPOST送信を実行することが含まれます(注:これらはasp.netページでは本当に見苦しいです)。返されたページには検索結果が含まれていません。2 番目のアプローチでは、python の mechanize モジュールを使用します。このアプローチでは、ページをロードし、フォームを選択してから、テキスト フィールド ctl00$ContentPlaceBody$TextSearch をコンテナー値に変更します。応答を再度読み込むと、検索結果はありません。

私は本当に行き止まりにいます。私の次のステップは、私が望まないasp.netの専門家になることです。

4

1 に答える 1

0

そのページのソースはかなり怖いです(巨大なビューステート、いたるところにあるテーブル、インラインCSS、Wordからコピーされたように見えるスタイル)。

とにかく...ASP.Netフォームは、他のフォームと同じ生データをサーバーに渡します(ただし、開発者には抽象化されています)。

リクエストに付随するCookieが欠落している可能性があります。検索ページ(またはサイトの一部)でセッション状態を使用する場合は、ASP.NetセッションCookieを要求に含める必要があります。その名前(「asp.net」と「session」を含む)からそれを知ることができます。

ページが送信されたときに、FirebugやChromeなどのツールを使用して完全な送信リクエストを表示したと思います。私の簡単なテストから、リクエストはPOSTではなくGETで実行される可能性があるようです。フォームを送信し、リクエストを確認して、URLを新しいブラウザウィンドウに貼り付けました。

例:http://www.cma-cgm.com/eBusiness/Tracking/Default.aspx?ContNum=CMAU1173561&T=57201202648

これはあなたがする必要があるすべてかもしれません。

于 2012-09-26T06:58:36.947 に答える