Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

c# - HttpClient not accepting Authorization headers (401 Unauthorized)?

I am creating a Xamarin.Forms mobile app that targets Android with .NET Standard as my code sharing method. Unfortunately the API I'm consuming works in Postman but doesn't work in C# using HttpClient from System.Net.Http.

Postman request works using this header:

Request Screenshot

I have tried 3 different approaches but they all still return "401 unauthorized". I've also checked the INTERNET permission in my Android Manifest file.

HttpClient.DefaultRequestHeaders.Add("Authorization", "Token e2eeb1aa9f32eb0ekgn353b6fadb772");
HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", "e2eeb1aa9f32eb0ekgn353b6fadb772");
HttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Token e2eeb1aa9f32eb0ekgn353b6fadb772");
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Please make sure your HTTP request URL is correct or not. Sometimes you may need a trailing backslash ( '/' ). If you missed it in HTTP client, will not work but POSTMAN will .


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...