加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读