如何解决.NET Core 3.1 |使用System.Net.Http.HttpClient
我正在尝试使用第三方API,该API要求在这样的URL中指定授权数据https://user:password@www.someapi.com
从字符串解析授权数据后,UserInfo
property of Uri
中也可以使用此授权数据。
让我们尝试发出请求
var client = new HttpClient(handler);
Uri uriAddress = new Uri("https://user:password@www.someapi.com");
var response = client.GetAsync(uriAddress).Result;
Console.WriteLine(response.RequestMessage.RequestUri);
// Output: "https://www.someapi.com"
这会出错,因为HttpClient出于某种原因不包括 URL中指定的授权数据。
它没有执行对https://user:password@www.someapi.com
的GET请求,而是执行对https://www.someapi.com
将HttpClientHandler
与AllowAutoRedirect = false
一起使用时,response.RequestMessage.RequestUri
与我在apiAddress
中指定的相同,这可能意味着授权数据已到达目的地。但是,我尝试使用的API在禁用AllowAutoRedirect
的同时返回了HTTP状态代码301“永久移动”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。