まず、この件について私の気に入った言い訳をしてください。私はDOSの前に始まった引退したプログラマーです。私はASP.NETの専門家ではありません。私が知る必要があることの一部は、私が知る必要があるものです。 (もし私に従ってください...)コンソールアプリケーションからASP.NET Webサイトにログインする
私はウェブサイトにログインしていくつかのコンテンツをスクラップします。メモ帳とフィドラー2でHTMLソースを見た後、サイトがASP.NETテクノロジで実装されていることは間違いありません。
私は、たくさんのgoogle'ingをやって、C#でスクリーンスクレーパーを書くことについて私が見つけたすべてを読んで始めました。いくつかの調査と多くの試みの後、私はそれが簡単ではないという結論に達したと思う。
問題の要点は(私が今見ているように)ASPはプログラマが状態を維持するための多くの方法を提供していることです。 Cookie、ビューステート、セッション変数、ページ変数、ポストパラメータの取得などがあります。プログラマは、サーバーとクライアントのスクリプトの間で作業を分けることができます。 IEやSafari、Chrome、FirefoxなどのリッチなWebクライアントは、プログラマが何を書き込んでも(そしてASPフレームワークがカバーしているものを)処理する方法を知っています。
WebClientはリッチWebクライアントではありません。クッキーの実装方法も知られていません。
私は難局です。 1つの方法は、ASPアプリケーションが期待しているリッチクライアントのすべての機能をリバースエンジニアリングし、ログインしたリッチクライアントを模倣するステロイドクラスのWebClientを作成することです。
私のアプリにIE(またはその他のリッチクライアント)を埋め込み、公開されたインターフェイスが充分に豊富で、ユーザー名とパスワードフィールドをプログラムで入力してフォームをPOSTできるようになることを願っています。 (応答ストリームにアクセスして、後でデータを取り出すためにHTMLを解析することができます...)
または、私はWebClientよりもっと豊富なサードパーティのコントロールを探すことができます。
誰も私の注意を集中しなければならないことについて、鋭い洞察力を発することはできますか?
これは、プロジェクトと同じ程度の学習経験です。つまり、ターゲットサイトからのログインと情報の取得を自動化したいのです。
ここ
WebClientでCookieを利用する方法については、http://stackoverflow.com/questions/1777221/using-cookiecontainer-with-webclient-classを参照してください。 – abatishchev
あなたがしていることは[ウェブクロール]と呼ばれています(http://stackoverflow.com/questions/tagged/web-crawler) – abatishchev