如题,由于工作的需要,一个哥们让我帮他抓取网页中的信息,可是发现该网页是防止盗链的。
先看下面的代码: 
foreach (HtmlElement link in links)
  {
//找到需要webbrowser自动点击的link
  if (link.GetAttribute("href").Contains("/SignHandle?userID="))
  {    
//如果用下面的navigate方法的话,由于网页有防盗链功能,所以在webbrowser中提示“非法链接”
  webBrowser2.Navigate(link.GetAttribute("href").ToString(),true);//如果模拟点击的话,倒是可以再IE的新窗口中打开,但是由于不是在webbrowser中,我也取不到需要的信息
  link.InvokeMember("click");

      objReset.Reset();
  while (objReset.WaitOne(100, false) == false) { Application.DoEvents(); }
  }
  else//查询不到结果
  isShow = false;
  }对于这样的防止盗链的情况,我该如何取得这个网页中的信息呢?谢谢各位。

解决方案 »

  1.   


     
       
    //如果用下面的navigate方法的话,由于网页有防盗链功能,所以在webbrowser中提示“非法链接”
    webBrowser2.Navigate(link.GetAttribute("href").ToString(),true);这句代码应该为:webBrowser2.Navigate(link.GetAttribute("href").ToString()); 
      

  2.   

    在WebBrowser中是很容易处理的,但是如果在一个新的IE的窗口中的内容,用C#应该如何捕获呢?
      

  3.   

    关键是你想要获取的这个网页信息不能在WebBrowser中载入,这个才是头疼的问题。