我正在尝试使用.net中的WebRequest类向网页发出请求.我尝试阅读的网址需要Windows身份验证,因此我会收到未经授权的异常.如何将Windows凭据传递给此请求以便进行身份验证.
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create( "http://myapp/home.aspx" );
request.Method = "GET";
request.UseDefaultCredentials = false;
request.PreAuthenticate = true;
request.Credentials = new NetworkCredential( "username", "password", "domain" );
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Raises Unauthorized Exception
this.Response.Write( response.StatusCode );
Run Code Online (Sandbox Code Playgroud)
上面的代码返回以下错误.
System.Net.WebException: The remote server returned an error: (401) Unauthorized.
Run Code Online (Sandbox Code Playgroud)
检查异常细节时,我注意到一件事是我尝试访问的URL是重定向到另一个提示我提供NT登录详细信息的URL.我相信凭据也应该转发到此URL.但显然它没有发生.