2016-04-19 22 views

答えて

3

HTMLアジリティパックはブラウザではないため、HTMLファイルを解析することはできますが、実際にやり取りする方法はありません。 submitオブジェクトが見つかり、そのプロパティなどを読むことはできますが、何もすることはできません。どちらのフォームを読む

  • 、フォームフィールドやポスト方法と一致するHTTPリクエストオブジェクトを構築し、それをサーバーに送信します。

    2つのオプションがあります。これはすべて手作業です。アジリティパックはフォームのフィールドとそのプロパティを一覧表示するのに役立ちます

  • このページとやり取りする必要がある場合は、ブラウザが必要です。 PhantomJSのようなヘッドレスブラウザがあり、実際にページを読み込み、Javascriptを解析し、サーバーから送信されたものを実行します。 C#用のラッパーの周りには、such examples is Awesoniumのいずれかのラッパーがあります。これは、HTML文書を解析することができるという点で、HTML Agility Packに似ていますが、実際にはブラウザ画面を表示せずに実際に実行しています。

+0

>フォームフィールドに一致するHttp Requestオブジェクトを作成します 私はJesseに同意します。 Fiddlerを使用すると、実際のブラウザベースのセッションでコンピュータとサーバーの間のHTML交換を記録できます。物理的に「送信」ボタンをクリックし、サーバーに返される内容を確認します。これにより、C#を介してこの交換を簡単に模倣することができます。もちろん、サーバが反偽造チケットを生成した場合、これは失敗する可能性があります。つまり、変更した場合を除き、常に同じ値を再送信するだけではありません。これは素晴らしいAwesoniumになります! – Tamayi

+0

情報をありがとう! – confused

関連する問題