gpt4 book ai didi

c# - 获取响应头

转载 作者:太空狗 更新时间:2023-10-29 21:21:16 27 4
gpt4 key购买 nike

使用 Flurl 从 API 获取响应。

var response = await url.WithClient(fc)
.WithHeader("Authorization", requestDto.ApiKey)
.GetJsonAsync<T>();
dynamic httpResponse = response.Result;

但我无法访问 httpResponse.Headers

如何在使用 GetJsonAsync 时访问响应 header 。

最佳答案

您无法从 GetJsonAsync<T> 获取标题因为它返回 Task<T>而不是原始响应。您可以调用GetAsync并在下一步反序列化您的有效负载:

HttpResponseMessage response = await url.GetAsync();

HttpResponseHeaders headers = response.Headers;

FooPayload payload = await response.ReadFromJsonAsync<FooPayload>();

ReadFromJsonAsync是一种扩展方法:

public static async Task<TBody> ReadFromJsonAsync<TBody>(this HttpResponseMessage response)
{
if (response.Content == null) return default(TBody);

string content = await response.Content.ReadAsStringAsync();

return JsonConvert.DeserializeObject<TBody>(content);
}

附言这就是为什么我更喜欢并推荐使用 raw HttpClient 的原因而不是任何第三方高级客户端,如 RestSharp 或 Flurl。

关于c# - 获取响应头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43488710/

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