这个错误信息 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。
解决方法:
- 确保URI是是绝对URI:当你创建一个请求时,确保你提供的URI是完整的,例如:http://www.example.com/api/resource
- 设置BaseAddress:如果你不想在每次请求时都提供完整的URI,你可以为HttpClient实例设置一个BaseAddress。这样,你只需要提供相对于这个基础地址的路径。
- 检查URI的格式:确保你提供的URI是有效的,并且符合URI的规范格式。
- 使用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);