我在源代码中使用一个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/

10-15 22:13