gpt4 book ai didi

c# - 如何检查 GetStringAsync 是否导致 401(例如)?

转载 作者:太空宇宙 更新时间:2023-11-03 17:10:22 27 4
gpt4 key购买 nike

我有以下内容,我尝试从服务器下载一个字符串:

HttpClient client = new HttpClient();
var getResponsestring = await client.GetStringAsync("url");

但是如果服务器没有返回我想要的字符串,而是返回 401 错误,我该怎么办?或者那个妈妈的任何网络错误

最佳答案

你有两个选择。要么将请求分解为两个步骤。

HttpClient client = new HttpClient();
var response = await client.GetAsync("url");
if (response.IsSuccessStatusCode) {
var getResponsestring = await response.Content.ReadAsStringAsync();
}

或者您插入一个新的 MessageHandler,它将返回对错误的常备响应。

var errorMessageHandler = new ErrorMessageHandler(new HttpClientHandler());
HttpClient client = new HttpClient(errorMessageHandler);
var getResponsestring = await client.GetStringAsync("url");

您必须通过从 DelegatingHandler 派生并覆盖 SendAsync 来自己实现 ErrorMessageHandler。

关于c# - 如何检查 GetStringAsync 是否导致 401(例如)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20159936/

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