c# – .net中的HttpClient在NetworkCredentials中提供用户名和密
发布时间:2020-12-15 08:06:57 所属栏目:百科 来源:网络整理
导读:当使用.net 4.5中的HttpClient进行基本身份验证时,我发现它发出了2个请求. 第一个失败,HTTP / 1.1 401 Unauthorized,然后重新发送我们获得HTTP / 1.1 200 OK的请求. 关于如何阻止它这样做的任何想法? var credential = new NetworkCredential { UserName =
当使用.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的认证头. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |