我正在为 Destiny 2 API 开发一个库,我在这个地方遇到了一个问题。我写了一个扩展,HttpClient.GetAsync
以便我可以做HttpClient.GetAsync<T>
,我发现在这个扩展中我没有收到成功消息,因为我得到了
307临时重定向
我已经使用相同的 api 密钥和相同的路径请求将相同的 API 请求运行到 Postman 中,并且 Postman 没有收到错误。
扩展代码:
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
});