c# - C# HttpClient 307 命运 2 搜索用户 API
问题描述
我正在为 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
});
解决方案
因此,在敲打了一段时间之后,我发现string path = $"User/SearchUsers?q={q}";
当它想要这个字符串string path = $"User/SearchUsers/?q={q}";
注意 SearchUsers 之后的斜线时,我正在传递这个字符串......我认为他们的 API 只是配置错误,这很烦人..
推荐阅读
- scikit-learn - sklearn MinMaxScaler 缩放错误?
- javascript - 在动态表中取消注册 jquery 事件
- go - 在以下任何一个中都找不到包“golang.org/x/net/context”:
- r - 重命名数据框中多个特定因素的级别
- unity3d - 获取变换运动的局部位置
- x11 - 是否有标准的非窗口退出事件?
- multithreading - 由于“由于表上的排序顺序而抑制了并行 WHERE 评估”和压缩类型,导致性能下降
- arrays - 按名称获取数组的总和
- node.js - 使用云功能更新 Firestore 文档
- webpack - VS Code:无法在 VS 代码中使用 Webpack 和 Jsconfig 解析模块的路径