2008-08-22 16 views
2

私は、私たちのウェブサイトから特定のファイルを自動的に取得するために、主に自分のクリックを節約するために、C#コンソールアプリケーションを構築しようとしています。しかし、私は問題の解決策を見つけることができませんでした。コンソールアプリケーションからASP.Netフォーム認証Webサイトで認証する

私が接続しようとしているWebサイトは、ASP.Netフォーム認証を使用しており、自分自身を認証する方法を理解できません。このアプリケーションは完全なハックですので、ユーザー名とパスワード、またはその他の必要な認証情報をハードコードすることができます。ソリューション自体は、一般ユーザーにリリースできるほどのものである必要はありません。言い換えれば、唯一の可能な解決策がハックだとすれば、私はそれでいいです。

基本的に、私はHttpWebRequestを使用して、ファイルのリストを持つサイトをプルし、そのリストを繰り返して、必要なものをダウンロードしようとしています。だから、実際のサイトでの作業は、私が認定されたと考えるようにウェブサイトを取得することができれば、かなり簡単です。

答えて

2

This pageをご利用ください。最初にページにリクエストを行い、その後のすべてのリクエストに含めるコンテナにCookieを保存する必要があります。これにより、ログインしたままでファイルを取得できるようになります。

2

私は似たようなものを扱っています。最も難しい部分は、あなたが許可するために "偽造"する必要があったものを正確に把握することです。私の場合は、Lotus Notes Webサービスの一部として認可されていましたが、詳細は重要ではなく、方法は同じです。

本質的には、通常のユーザーセッションを記録する必要があります。私はFiddler http://www.fiddler2.comをお勧めしますが、もしあなたがLinuxなどで動いているなら、wiresharkを使っていくつかのことを理解する必要があります。使用可能なFirefoxのプラグインがあるかどうかは不明です。

とにかく、IEを起動して、Fiddlerを起動します。ログイン処理を完了します。
あなたがやっていることをやめてください。フィドラーペインに切り替え、記録されたセッションを詳細に調べます。 WebRequestを使用して偽装する必要があるものを正確に提供する必要があります。

関連する問題