忽略HttpWebRequest中未授权的401
本文关键字:授权 HttpWebRequest 忽略 | 更新日期: 2023-09-27 18:00:23
第三方网站在其常规工作流程中返回401,而不是200。浏览器忽略401并显示接收到的HTML内容,因此用户甚至不知道有401。但是HttpWebRequest抛出HttpException。我怎么能忽略它而得到响应呢?
您的代码抛出WebException,因此获得结果的解决方案是:将您的整个代码放在try catch
块中,catch块必须捕获WebException,并在您的catch块中编写以下代码以获得html内容。
try
{
// your code here
}
catch (WebException e2)
{
using (WebResponse response = e2.Response)
{
HttpWebResponse httpResponse = (HttpWebResponse)response;
Console.WriteLine(" Error : {0}", httpResponse.StatusCode);
using (Stream data = response.GetResponseStream())
using (var reader = new StreamReader(data))
{
//the html content is here
string text = reader.ReadToEnd();
Console.WriteLine(text);
}
}
}