HttpClient 不接受授权标头(401 未授权)?

iam*_*cev 3 c# api android xamarin.forms

我正在创建一个 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");
Run Code Online (Sandbox Code Playgroud)

dus*_*88c 5

请确保您的 HTTP 请求URL正确与否。有时您可能需要尾随反斜杠( '/' )。如果您在HTTP 客户端中错过了它,它将不起作用,但POSTMAN会。

  • 是的,由于缺少反斜杠,我浪费了 1 个小时研究 401 错误消息............ (2认同)