Internet Explorer に基づく自動化された WebBrowser コントロールを使用してログインする、認証が必要な Web サイト内にある URL からファイルを自動的にダウンロードするとします。しかし、そこにいてファイルへのリンクを取得したら、そこに移動してIE6経由で直接ダウンロードしようとすると、「このファイルを開くか保存しますか」というモーダルダイアログが表示されます。そして、C# WebClient クラスを使用してダウンロードしようとしてもうまくいきませんでした。ダウンロードされたのは、意味のない短い JavaScript だけでした。実際、好奇心から、添付ファイルをダウンロードしようとして Gmail Web サイト内の WebClient メソッドをテストしましたが、どちらも機能しませんでした (Gmail から POP3 インターフェースを介してそれらを取得できることはわかっていますが、これは単なる実験でした)。
さて、これはすべての根底にあるメカニズムについて疑問に思います. まず、WebClient を間違った方法で使用している可能性がありますか? または、そのような状況でファイルをダウンロードするための他の標準 C# クラスがあるのでしょうか?
そうでない場合、アプリがブラウザの動作を偽装して、実際には同じプロセスの別の部分からのものであっても、ファイルの要求がブラウザからのものであるとサーバーが考えるようにすることは可能ですか? WebClient ができない間にファイルをダウンロードできるようにする、この状況でブラウザは正確に何をしているのでしょうか?