我想使用htmlagilitypack在C#上解析网站https://russiarunning.com/events?d=run 我正在尝试这个
string url = "https://russiarunning.com/events?d=run";
var web = new HtmlWeb();
var doc = web.Load(url);
但是我遇到了一个问题-网站内容加载超时〜1000ms 因此,当使用web.Load(url)时,我下载的页面没有内容。
如何使用htmlagilitypack在下载页面之前进行超时?
答案 0 :(得分:0)
尝试一下...
创建一个如下所示的类:
DWORD dwNoChild = 1;
BOOL bResult = ::SetProcessMitigationPolicy((PROCESS_MITIGATION_POLICY)13 /*ProcessChildProcessPolicy*/,
&dwNoChild, sizeof(dwNoChild));
并按以下方式使用:
ProcessChildProcessPolicy
答案 1 :(得分:0)
您可以简单地执行以下操作:
string url = "https://russiarunning.com/events?d=run";
var web = new HtmlWeb();
web.PreRequest = delegate(HttpWebRequest webReq)
{
webReq.Timeout = 4000; // number of milliseconds
return true;
};
var doc = web.Load(url);
有关超时属性的更多信息:https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.timeout?view=netframework-4.7.2