c# – 使用HttpClient,发送没有架构的授权令牌
作者:互联网
注意:此问题类似于this one,但其建议的答案不适用于此处.
我正在尝试访问this API,它正在寻找一个如下所示的标题:
Authorization: {token}
请注意,没有任何身份验证方案.
我试过做:
myHttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("", authToken);
这导致了一个ArgumentException,说我无法传递一个空字符串.
我也试过了两个:
myHttpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(authToken);
和
myHttpClient.DefaultRequestHeaders.Add("Authorization", authToken);
这两个都导致FormatException.
似乎有些东西迫使我遵循我的授权标头的标准格式,但我尝试访问的服务不使用该标准格式.
解决方法:
你可以尝试:
request.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", token));
如https://msdn.microsoft.com/en-us/library/hh875106(v=vs.118).aspx所述
标签:c,asp-net-web-api,dotnet-httpclient 来源: https://codeday.me/bug/20190717/1486904.html