httpを使用して文字列をダウンロードするためのソースコードでWebクライアントクラスを使用しています。C#webclientとプロキシサーバ
これは正常に動作していました。しかし、同社のクライアントはすべてプロキシサーバーに接続されています。そして、問題はこのことから始まりました。
アプリケーションをテストしたところ、プロキシサーバーのIPアドレスであるxxx.xxx.xxx.xxxからの応答がないため、プロキシサーバーを通過できるとは考えられませんでした。
しかし、私はまだウェブサイトのURLにナビゲートすることができますし、プロキシサーバーを経由して接続する際には、ブラウザで正しく文字列が表示されますが、私は自分のWebクライアントを使用しないとき。
はウェブで何かありますプロキシサーバーの背後からURLにアクセスできるように設定する必要がありますか?using (WebClient wc = new WebClient())
{
string strURL = "http://xxxxxxxxxxxxxxxxxxxxxxxx";
//Download only when the webclient is not busy.
if (!wc.IsBusy)
{
string rtn_msg = string.Empty;
try
{
rtn_msg = wc.DownloadString(new Uri(strURL));
return rtn_msg;
}
catch (WebException ex)
{
Console.Write(ex.Message);
return false;
}
catch (Exception ex)
{
Console.Write(ex.Message);
return false;
}
}
else
{
System.Windows.Forms.MessageBox.Show("Busy please try again");
return false;
}
}
それはIDisposableを実装して理想的には、Webクライアントにも使用して文にする必要があります。しかし便利な投稿です。 – Orphid
オニフィードよりも明白になること。上記のコード(これは完全に正当なものです)を使用して、Webクライアント上で '.Dispose'を呼び出すことを忘れないでください!また、WebProxyには、第2引数としてポート番号を使用するコンストラクタオーバーロードがあります。 – user3791372