gpt4 book ai didi

c# - HttpClient.GetAsync,无效的 URI 异常

转载 作者:行者123 更新时间:2023-11-30 16:51:52 24 4
gpt4 key购买 nike

下面提到的代码不起作用。我在 GetAsync 中得到以下异常:

Invalid URI: The format of the URI could not be determined.

但是,如果我评论 apiClient.BaseAddress 并在 apiClient.GetAsync 中指定完整的 URI,那么它就可以正常工作了!

谁能解释一下原因吗?

开发环境:VS2012、.NET 4.5、C#、ASP.NET WebForms

代码

private async Task WebAPICall()
{
using (var apiClient = new HttpClient())
{
apiClient.BaseAddress = new Uri("http://localhost:9000/");
apiClient.DefaultRequestHeaders.Accept.Clear();
apiClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
apiClient.Timeout = new TimeSpan(0, 0, 30);

try
{
HttpResponseMessage apiResponseMsg = await apiClient.GetAsync(new Uri("api/products/" + txtProductID.Text.Trim()));
string strResponse = await apiResponseMsg.Content.ReadAsStringAsync();
Response.Write(strResponse);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}

} //using (var apiClient = new HttpClient())
} //private async Task WebAPICall()

最佳答案

在 StackOverflow 上的另一篇文章的帮助下发现了这个问题。感谢@Alexei 提供 URL。

更改了 URI 字符串,它工作正常。

HttpResponseMessage apiResponseMsg = await apiClient.GetAsync("api/products/" + txtProductID.Text.Trim());

关于c# - HttpClient.GetAsync,无效的 URI 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33292896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com