C# HttpClient 307 Destiny 2 SearchUser API



我正在为命运2 API开发一个库,但在这个地方遇到了一个问题。我为HttpClient.GetAsync编写了一个扩展,以便我可以做HttpClient.GetAsync<T>,我发现在这个扩展中我没有收到成功消息,因为我得到了一个

307 临时重定向

我使用相同的 api 密钥和相同的路径请求将相同的 API 请求运行到邮递员中,并且邮递员没有收到错误。

分机代码:

public async static Task<T> GetAsync<T>(this HttpClient Web, String Path)
{
var result = await Web.GetAsync(Path);
if (result.IsSuccessStatusCode)
{
var body = await result.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<T>(body);
}
else
{
return default(T);
}
}

创建根 ApiClass 时的 HttpClient 创建:

private HttpClient _Web { get; set; } = new HttpClient(new HttpClientHandler()
{
AllowAutoRedirect = true
});

所以在捶了一会儿我的头后,我发现我正在传递这个字符串string path = $"User/SearchUsers?q={q}";当它想要这个字符串string path = $"User/SearchUsers/?q={q}";注意到 SearchUsers 后面的斜杠......我认为他们的API只是配置错误,这很烦人。

最新更新