2

Webページでのフォームの送信を含む少しの自動化を達成しようとしています。フォームの値は、リスト内のアイテムごとにすでにコード化されています。

私はPythonでさまざまなモジュールを試しましたが、何も答えが得られないようです。Visual Basicにアクセスできず、個人的に.aspxページを扱ったことがありません。これはフォーム名です。フォームのパラメーターを見つけたとき、設定されて準備ができていると思いました。function ShowEditForm(id、param1、param2、param3、param4)#セキュリティのために削除された実際のパラメーター名

そして、これが大きな頭痛の種です。

<INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> <INPUT id=__EVENTARGUMENT     type=hidden name=__EVENTARGUMENT> <INPUT id=__VIEWSTATE type=hidden value=/wEPDw... #This     continues for 800+ characters

これが私のコードの失敗の原因だと思いますが、Pythonで.aspxフォームに投稿しようとしている魔女狩りをしていますか?

ありがとう

4

4 に答える 4

1

aspxはそれとは何の関係もないと思います。

http://pypi.python.org/pypi/seleniumを試しましたか?

于 2012-09-28T19:02:57.883 に答える
1

実際、これらの非表示の値が存在しない場合、POSTリクエストのサーバー側の処理は機能しません。ASP.NETはそのようなものを使用して、複数の要求にわたるステートフルネスを追跡します。ASP.NETWebフォームのHTTP要求をリバースエンジニアリングするのは楽しいことではありません。

おそらく、ページをリクエストし、ページが提供する非表示の値を取得して、それらをPOSTに含める必要があります。

ページを手動で操作し、FireBugのようなものでリクエスト/レスポンスをキャプチャすることで、クライアントとサーバーの間でやり取りされる値についてもよくわかります。サーバーで事前に決定された方法でいくつかの非表示フィールドを動的に変更するJavaScriptが応答に発行され、どのボタンが押されたか、またはどのコントロールが何らかの方法で変更されたかを示すのに役立つ場合でも、私は驚かないでしょう。

于 2012-09-28T19:07:17.580 に答える
1

投稿のヘッダーとコンテンツを解析/パラメーター化する必要があります。これは自明ではない可能性があります。

いくつかのフォーム処理の便利さを備えた、HTTPレベルでのアクセスについてmechanizeをチェックしてください。

Pythonで実際のブラウザを駆動するために、seleniumをチェックしてください。

于 2012-09-28T19:13:17.497 に答える
1

Asp.netには、偽造できないビューステート(暗号化されたページ状態設定)と呼ばれる機能があり、ページはデフォルトで使用されている可能性があり、フォームにポストバックするときにフォームにポストバックと呼ばれます。 。

.aspxコードを制御する場合、フォーム処理を実行するコードに.csまたは.vbファイルが関連付けられている可能性があります。コードを変更して、元のフォームのコントロールの代わりに(またはそれに加えて)投稿されたフォームまたはURLパラメーターから値を取得できます。サイトがコンパイルされていて、変更する.vbまたは.csファイルが表示されない場合は、ソリューションの元のソースファイルを見つける必要があります。

于 2012-09-28T19:14:10.567 に答える