我在源代码中使用一个web客户机类来下载使用http的字符串。
一切都很顺利。但是,公司的客户机现在都连接到代理服务器。问题就从这里开始。
当我测试我的应用程序时,我认为它不能通过代理服务器,因为不断抛出的异常是“没有来自xxx.xxx.xxx.xxx的响应,这是代理服务器的IP地址。
但是,我仍然可以导航到web站点url,当通过代理服务器连接时,它会在浏览器中正确显示字符串,但在使用web客户端时不会。
在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;
}
}
最佳答案
我的解决方案:
WebClient client = new WebClient();
WebProxy wp = new WebProxy(" proxy server url here");
client.Proxy = wp;
string str = client.DownloadString("http://www.google.com");
关于c# - C#WebClient和代理服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44983073/