C#Httpclient代理认证407

时间:2017-10-26 15:10:13

标签: c# authentication proxy

我完全清楚这个问题(或类似问题)已经发布了数千次。然而,这些解决方案都不适合我。我已经在c#中进行了数百次代理连接,但出于某种原因,我现在一直在获得407。 我只是想使用一个非常基本的http代理向谷歌提出get请求。

过了一段时间,我最终看到了这里提出的问题的答案: HttpClient and using proxy - constantly getting 407

由于某种原因仍然让我回归407。 这是我的确切代码

        string proxyUri = string.Format("{0}:{1}", "xxx.xxx.xxx.xxx", "xxx");

        NetworkCredential proxyCreds = new NetworkCredential(
            "xxxx",
            "xxxx"
        );

        WebProxy proxy = new WebProxy(proxyUri, false)
        {
            UseDefaultCredentials = false,
            Credentials = proxyCreds,
        };


        var cookieContainer = new CookieContainer();
        var handler = new HttpClientHandler()
        {
            Proxy = proxy,
            PreAuthenticate = true,
            UseDefaultCredentials = false,
            CookieContainer = cookieContainer

        };



        var client = new HttpClient(handler)
        var result = client.GetAsync("https://www.google.com");

我觉得一切看起来都是正确的,但由于某种原因,结果并非如此。 任何建议都将不胜感激。

编辑: 我现在甚至尝试过使用webclient,它有完全相同的问题。 我在想它可能使用代理作为http代理而不是https? 可以以某种方式指定协议吗?

编辑2: 使用webclient时,我注意到,当使用正确的凭据时,我得到“操作超时”,当凭证错误时,立即使用407。

0 个答案:

没有答案