System.InvalidOperationException: An invalid request URI was provided. Either the request URI must be an absolute URI or BaseAddress must be set.

这个错误信息 System.InvalidOperationException: An invalid request URI was provided. Either the request URI must be an absolute URI or BaseAddress must be set.

通常出现在使用C#的HttpClient类进行网络请求时。

它意味着你提供的请求URI无效,或者没有设置BaseAddress。

解决方法:
  1. 确保URI是是绝对URI:当你创建一个请求时,确保你提供的URI是完整的,例如:http://www.example.com/api/resource
  2. 设置BaseAddress:如果你不想在每次请求时都提供完整的URI,你可以为HttpClient实例设置一个BaseAddress。这样,你只需要提供相对于这个基础地址的路径。
  3. 检查URI的格式:确保你提供的URI是有效的,并且符合URI的规范格式。
  4. 使用Uri类创建URI:不要直接使用字符串作为URI。使用Uri类来创建URI,这样可以确保它是有效的。
设置BaseAddress
C#
var client = new HttpClient();  
client.BaseAddress = new Uri("http://www.example.com/api/");  
  
var response = await client.GetAsync("resource");
使用Uri类创建URI
C#
var uri = new Uri("http://www.example.com/api/resource");  
var response = await client.GetAsync(uri);
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
滚动至顶部