忽略HttpWebRequest中未授权的401

本文关键字:授权 HttpWebRequest 忽略 | 更新日期: 2023-09-27 18:00:23

第三方网站在其常规工作流程中返回401,而不是200。浏览器忽略401并显示接收到的HTML内容,因此用户甚至不知道有401。但是HttpWebRequest抛出HttpException。我怎么能忽略它而得到响应呢?

忽略HttpWebRequest中未授权的401

您的代码抛出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);
         }
        }
}