![](/img/trans.png)
[英]C# HttpClient Post with Authorization and JSON data - 401 Unauthorized
[英]HttpClient not accepting Authorization headers (401 Unauthorized)?
我正在创建一个 Xamarin.Forms 移动应用程序,它以 .NET Standard 作为我的代码共享方法的 Android 为目标。 不幸的是,我正在使用的 API 在 Postman 中有效,但在使用 System.Net.Http 的 HttpClient 的 C# 中无效。
邮递员请求使用此标头工作:
我尝试了 3 种不同的方法,但它们仍然返回“401 未授权”。 我还检查了我的 Android 清单文件中的 INTERNET 权限。
HttpClient.DefaultRequestHeaders.Add("Authorization", "Token e2eeb1aa9f32eb0ekgn353b6fadb772");
HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", "e2eeb1aa9f32eb0ekgn353b6fadb772");
HttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Token e2eeb1aa9f32eb0ekgn353b6fadb772");
请确保您的 HTTP 请求URL正确与否。 有时您可能需要尾随反斜杠( '/' )。 如果您在HTTP 客户端中错过了它,它将不起作用,但POSTMAN会。
尝试在HttpRequestMessage
上设置标头:
request.Headers.Authorization = new
AuthenticationHeaderValue("Bearer","e2eeb1aa9f32eb0ekgn353b6fadb772");
就我而言,在 AuthenticationHeaderValue 中设置基本身份验证时已修复。
var authToken = Encoding.ASCII.GetBytes(_UserName + ":" + _Password);
client.DefaultRequestHeaders.Authorization= new AunthenticationHeaderValue("Basic", Convert.ToBase64String(authToken));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.