gpt4 book ai didi

c# - 使用 WebClient 和 C#,即使响应为 (400) Bad Request,我如何获取返回的数据?

转载 作者:可可西里 更新时间:2023-11-01 08:17:01 25 4
gpt4 key购买 nike

我正在使用 Google Translate API并 try catch 当我收到 error 时返回的数据. (仅供引用:我知道 API key 是错误的,我只是在测试它)。

问题是浏览器,您可以通过单击链接看到,显示错误信息,但 C# 抛出 WebException,我似乎无法获得响应数据。

这是我的代码:

string url = "https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world";
WebClient clnt = new WebClient();

//Get string response
try
{
strResponse = clnt.DownloadString(url);
System.Diagnostics.Debug.Print(strResponse);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
return null;
}

即使响应是 (400) 错误请求(或与此相关的任何其他错误响应),我如何获得返回的 JSON 错误?除了 WebClient 之外,我是否需要使用其他类?

最佳答案

这可能对你有帮助

catch ( WebException exception )
{
string responseText;

using(var reader = new StreamReader(exception.Response.GetResponseStream()))
{
responseText = reader.ReadToEnd();
}
}

这将为您提供 json 文本,然后您可以使用您喜欢的任何方法从 JSON 转换它。

检索自:Get WebClient errors as string

关于c# - 使用 WebClient 和 C#,即使响应为 (400) Bad Request,我如何获取返回的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235308/

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