gpt4 book ai didi

c# - HTMLAgilityPack 和加载超时

转载 作者:行者123 更新时间:2023-11-30 15:08:11 24 4
gpt4 key购买 nike

我在服务器上的解析器中使用 HTMLAgilityPack,但我正在解析的其中一个网站出现问题:每天早上 6 点左右,他们往往会关闭服务器进行维护,这会抛出 HTMLWeb 的 Load() 方法,并使我的应用程序崩溃。你们有没有更安全的方法将网站加载到 HTMLAgilityPack 中,或者是否有某种方法可以在 C# 中进行错误检查以防止我的应用程序崩溃? (我的 C# 有点生疏了)。这是我的代码:

HtmlWeb webGet = new HtmlWeb();
HtmlDocument document = webGet.Load(dealsiteLink); //The Load() method here stalls the program because it takes 1 or 2 minutes before it realizes the website is down

谢谢!

最佳答案

只需用 try-catch 包围调用:

HtmlWeb webGet = new HtmlWeb();

HtmlDocument document;
try
{
document = webGet.Load(dealsiteLink);
}
catch (WebException ex)
{
// Logic to retry (maybe in 10 minutes) goes here
}

确切的重试逻辑将取决于您的应用程序的结构 - 您可能会发现 try-catch block 需要放在更高的位置,您的应用程序需要比这高得多.

我认为 WebException 是您应该捕获的异常,但我不能确定,因为我找不到文档。您可能会发现还需要捕获 TimeoutException

关于c# - HTMLAgilityPack 和加载超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876825/

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