gpt4 book ai didi

c# - 在 GetStringAsync 中处理 http 响应代码

转载 作者:太空狗 更新时间:2023-10-29 18:06:38 26 4
gpt4 key购买 nike

我是 C# 的新手,更不用说 Windows Phone 开发了:)

我正在尝试发送请求,获取 JSON 响应,但如果出现错误(例如 401),则能够告诉用户此类。这是我的代码:

async Task<string> AccessTheWebAsync()
{
//builds the credentials for the web request
var credentials = new NetworkCredential(globalvars.username, globalvars.password);
var handler = new HttpClientHandler { Credentials = credentials };

//calls the web request, stores and returns JSON content
HttpClient client = new HttpClient(handler);
Task<string> getStringTask = client.GetStringAsync("https://www.bla.com/content");

String urlContents = await getStringTask;

return urlContents;

}

我知道这一定是我在发送请求和存储响应的方式上做错了……但我不确定是什么。

如果有错误,我得到一个一般的:net_http_message_not_success_statuscode

谢谢!

最佳答案

您可以使用 te GetAsync() 方法代替 GetStringAsync()。

HttpResponseMessage response = await client.GetAsync("https://www.bla.com/content");

if(!response.IsSuccessStatusCode)
{
if (response.StatusCode == HttpStatusCode.Unauthorized)
{
do something...
}
}
String urlContents = await response.Content.ReadAsStringAsync();

这样您就可以使用可枚举的 HttpStatusCode 来检查返回的状态代码。

关于c# - 在 GetStringAsync 中处理 http 响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27079246/

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