第二次代理验证因webRequest API失败

时间:2018-11-06 10:32:14

标签: winforms webrequest httpwebresponse webresponse

在Windows应用程序中,webRequest.GetResponse()行为:

1)第一次,我尝试使用"invalid user name/ credentials"并收到以下错误。

  

“错误:远程服务器返回错误:(407)代理   需要验证。”

现在我给出有效的"user name and credentials"->得到响应

2)现在相反的情况, 即我使用有效的用户名和密码调用了API->工作

在此之后,如果我尝试使用无效的凭据,则会得到响应。

代码段:

private void button1_Click(object sender, EventArgs e)
    {
        label1.Text = string.Empty;
        var webProxy = new WebProxy("http://proxy:80/",true)
        {
            Credentials = new NetworkCredential("UserName", "PassWord"),
            UseDefaultCredentials = false
        };


        WebRequest.DefaultWebProxy = webProxy;
        try
        {
            var webRequest = (HttpWebRequest)WebRequest.Create("http://Google.co.in");
            webRequest.Proxy = webProxy;
            webRequest.Timeout = 30 * 1000;
            using (var webResponse = (HttpWebResponse)webRequest.GetResponse())
            {
                label1.Text = string.Format("WebRequest Response Code : {0}. Web Request Status : {1}", webResponse.StatusCode, webResponse.StatusDescription);
            }

        }
        catch (Exception ex)
        {
            label1.Text = ex.Message;
        }
        finally { WebRequest.DefaultWebProxy = null; }

    }

我无法找到确切的原因,通话如何成功,请帮助我了解上述情况。

0 个答案:

没有答案