如题,由于工作的需要,一个哥们让我帮他抓取网页中的信息,可是发现该网页是防止盗链的。
先看下面的代码:
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;
}对于这样的防止盗链的情况,我该如何取得这个网页中的信息呢?谢谢各位。
先看下面的代码:
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;
}对于这样的防止盗链的情况,我该如何取得这个网页中的信息呢?谢谢各位。
//如果用下面的navigate方法的话,由于网页有防盗链功能,所以在webbrowser中提示“非法链接”
webBrowser2.Navigate(link.GetAttribute("href").ToString(),true);这句代码应该为:webBrowser2.Navigate(link.GetAttribute("href").ToString());