C# 访问非公共HttpWebRequest.\u HttpResponse在C中#
我正在尝试使用C#对Google的OAuth进行身份验证,尽管我尽了最大努力,我仍然收到400个错误请求 所以我的小弟弟C# 访问非公共HttpWebRequest.\u HttpResponse在C中#,c#,rest,C#,Rest,我正在尝试使用C#对Google的OAuth进行身份验证,尽管我尽了最大努力,我仍然收到400个错误请求 所以我的小弟弟 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 从来没有得到过回应。我的响应对象从未填充 但谷歌在400秒时发回数据。如果您将浏览器指向 我的问题是如何在C#中访问这些信息?它似乎位于HttpWebRequest的非公开成员的内部。\u HttpResponse,但它是bytearray格
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
从来没有得到过回应。我的响应对象从未填充
但谷歌在400秒时发回数据。如果您将浏览器指向
我的问题是如何在C#中访问这些信息?它似乎位于HttpWebRequest的非公开成员的内部。\u HttpResponse,但它是bytearray格式的,我无法通过编程读取或访问它
任何帮助都将不胜感激。您的
响应
对象从未被填充,因为请求.GetResponse()
在出现400错误时抛出了一个
试着这样做:
HttpWebResponse response;
bool isValid = false;
try
{
response = (HttpWebResponse)request.GetResponse();
isValid = true;
}
catch (WebException we)
{
response = (HttpWebResponse)we.Response;
}
if (isValid)
{
// the response was valid
}
else
{
// the response returned a 400 error
}
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
response = (HttpWebResponse)ex.Response;
}
您需要捕获抛出的404异常,如下所示:
HttpWebResponse response;
bool isValid = false;
try
{
response = (HttpWebResponse)request.GetResponse();
isValid = true;
}
catch (WebException we)
{
response = (HttpWebResponse)we.Response;
}
if (isValid)
{
// the response was valid
}
else
{
// the response returned a 400 error
}
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
response = (HttpWebResponse)ex.Response;
}
这很烦人,而且我有点疏忽,但是如果您使用的是HttpWebRequest
类,那么这是唯一的方法