WebClientのプロキシ設定について

タグの編集
投稿者 はじめ  (社会人) 投稿日時 2013/6/27 15:47:48
こんにちは。
VB2008を使い、WebBrowser上に表示されたページに掲載されている画像ファイルを、WebClientを使ってダウンロードするようなものを作りたいのですが、
例えば、プロキシ認証が必要な環境でこれを使う場合、WebClientのProxyプロパティに何か設定しなくてはならないのでしょうか?
(プロキシを考慮しなければ、とりあえず画像ファイルのダウンロードには成功しています。)

色々調べると、System.Net.WebRequest.DefaultWebProxyやSystem.Net.WebRequest.GetSystemWebProxyなどがあるようですが、
どのようにすればいいのでしょうか?

理想としましては、WebBrowserで対象サイトをNavigateをした時にプロキシ認証が必要ならばここで認証操作をしてもらい、
WebClientでのダウンロード時もこの認証状態を保持したいのですが、このようなことは可能なのでしょうか?

実際にそのような環境が手元になく、全く何も分からないので、僕がおかしな勘違いをしているかも知れませんので
その場合はご指摘ください。

よろしくお願いします。
投稿者 まだまだ  (学生) 投稿日時 2013/6/29 16:28:01
Webページ閲覧中に認証を求められるというのなら普通はBasic認証などのような気がしますが…。
Proxy経由でないと閲覧できないページのことを指しているのでしょうか。

とりあえず、WebClientをProxy経由で利用するには次のサンプルを参考にしてみると良いと思います。
http://dobon.net/vb/dotnet/internet/useproxy.html

また、もしもBasic認証のことでしたら次のサンプルが役に立つと思います。
http://dobon.net/vb/dotnet/internet/usecredentials.html

何か勘違いをしていたらすみません。
投稿者 はじめ  (社会人) 投稿日時 2013/7/1 14:27:53
ご連絡ありがとうございます。

例えば統合Windows認証の場合はどうなのでしょうか?
改めてアカウント・パスワードを入力させたくないのですが、WebClientのProxyプロパティには
単にSystem.Net.WebRequest.DefaultWebProxyをセットする(あるいは何もしなくてもいい?)のでしょうか?

今後、画像ファイルだけでなく、ページ上にリンクが張ってあるPDFなんかもWebClientを使ってダウンロードするようなことをしたいので、
ここら辺の情報を頂けると幸いです。

よろしくお願いします。 
投稿者 るきお  (社会人) 投稿日時 2013/7/2 12:54:24
>改めてアカウント・パスワードを入力させたくないのですが、WebClientのProxyプロパティには
>単にSystem.Net.WebRequest.DefaultWebProxyをセットする(あるいは何もしなくてもいい?)のでしょうか?
ユーザー名・パスワードを入力させたくない話とプロキシーの設定は直接関係ありません。
もし、匿名アクセスで簡単に利用できるプロキシーサーバーがあるならばそれを設定することでユーザー名・パスワードを入力しなくて済むというような間接的な関係はあります。

WebClientのプロキシー設定は自動的にインターネットオプションの設定(いわゆるIEのプロキシ設定)を使用するので通常は自分で設定しません。

はじめさんは、現在情報収集の段階でしょうか?それとも実際にプログラムしていて何か困ったことに直面しているでしょうか?
情報収集の段階ならば、たまたま詳しい人が質問を見ないとなかなか回答してもらえないと思います。わざわざ検証して回答する人はかなりの少数派です。
実際にプログラムしていて何か困っているのならば、もっと具体的に書くとなにか提案したりヒントをくれる人が増えると思います。