使用Windows身份验证的Web应用程序无法通过代理

时间:2015-02-24 16:55:34

标签: c# asp.net-mvc-4 windows-authentication

我有一个使用Windows身份验证的MVC4应用程序。此应用程序刮擦各种互联网网站。此应用程序托管在我们的Intranet中,需要通过我们的公司代理才能访问Internet。通过一些调试,我可以看到我已经完全通过用户ID进行身份验证,并且我正在模仿。我的问题是我一直收到错误The remote server returned an error: (407) Proxy Authentication Required.。我可以验证我的代码是否有效,因为如果我硬编码代理的凭据,它会按预期工作。

var windowsIdentity = (WindowsIdentity) HttpContext.Current.User.Identity;
using (windowsIdentity.Impersonate())
{
    var webClient = new WebClient
        {
            Proxy = new WebProxy(PROXY)
                {
                    Credentials = CredentialCache.DefaultNetworkCredentials
                }
        };
    var str = webClient.DownloadString("http://google.com");
}

使用CredentialCache.DefaultCredentials也不起作用。为什么我不能冒充自己(或访问该网站的任何人)并使用该用户对代理进行身份验证?

1 个答案:

答案 0 :(得分:1)

可能会忽略服务器的代理设置。请尝试阅读this