gpt4 book ai didi

c# - 在加载 url 到 HtmlAgilityPack 中的文档时,如何添加 webRequest 以设置超时?

转载 作者:行者123 更新时间:2023-11-30 22:25:07 25 4
gpt4 key购买 nike

我在加载 url 时有这段代码:

private List<string> test(string url, int levels,DoWorkEventArgs eve)
{
HtmlWeb hw = new HtmlWeb();
List<string> webSites;
try
{
this.Invoke(new MethodInvoker(delegate { Texts(richTextBox1, "Loading The Url: " + url + "..." , Color.Red); }));
doc = hw.Load(url);
this.Invoke(new MethodInvoker(delegate { Texts(richTextBox1, "Done " + Environment.NewLine, Color.Red); }));

有时加载 url 会花费很多时间,因为 url 变量中的网站没有响应。我想添加一个超时,所以假设在 X 秒后它会抛出一条消息,如“有一个超时”。

现在 HtmlAgilityPack 没有任何超时属性或类。所以我想在我的 Form1 中创建一个新函数,它将使用 webrequest 和 webresponde 并在此新函数中设置超时,然后在加载 url 之前调用此函数。

有人可以告诉我如何使新功能与我的代码一起使用吗?还有超时。

谢谢。

最佳答案

来源:http://blog.jongallant.com/2012/07/htmlagilitypack-set-timeout.html#.VBY-_fmSz3Q

var web = new HtmlWeb();
web.PreRequest = delegate(HttpWebRequest webRequest)
{
webRequest.Timeout = 4;
return true;
};
var doc = web.Load("http://www.msn.com/");

注意,超时值是请求超时前等待的毫秒数。默认值为 100,000 毫秒(100 秒)

关于c# - 在加载 url 到 HtmlAgilityPack 中的文档时,如何添加 webRequest 以设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12468497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com