忽略 HttpWebRequest 中的 401 Unauthorized

Ignore 401 Unathorized in HttpWebRequest

第三方网站 returns 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);
         }
        }
}