当使用.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的认证头.