当使用.net 4.5中的HttpClient进行基本身份验证时,我发现它发出了2个请求.
第一个失败,HTTP / 1.1 401 Unauthorized,然后重新发送我们获得HTTP / 1.1 200 OK的请求.
关于如何阻止它这样做的任何想法?
var credential = new NetworkCredential { UserName = username,Password = password } var httpClientHandler = new System.Net.Http.HttpClientHandler { Credentials = credential }; httpClient = new HttpClient(httpClientHandler,true) { BaseAddress = address };
解决方法
尝试设置:
httpClientHandler.PreAuthenticate = true;
我认为第一个请求仍将获得最初的401,但是对于相同URI的后续请求直到最后一个正斜杠应始终发送没有401的认证头.