访问具有Cloudflare保护的网页

首先,我想道歉,以防我的问题可能没有提供足够的连接或任何重要的事情,我现在正在手机上打字。

所以我正在开发一个项目,要求我在网页中自动执行任务,为了做到这一点,第一步是首先访问页面,但我遇到了一个障碍,我试过搜索和搞清楚无济于事。

我试图访问的网页有CloudFlare的DDoS保护,这意味着在进入页面之前,您的浏览器会被检查几秒钟然后通过。

我正在使用外部库HtmlUnit,它为我提供了我需要的一切,当访问页面时,我收到503 error ,说我无法访问它,相当确定这是阻止它的保护。

现在我的问题是我应该如何绕过它。 有一个.jar我反编译并查看哪个跟我一样去了同一个网站,但这对我来说太难以辨认了。

非常感谢帮助完成这项任务,谢谢。

作为参考,以下是使用CloudFare进行测试的网页示例, www.osbot.org (这不是BTW网站)。

如果你还需要其他任何东西,请告诉我,再次抱歉只有文字,很难在我的手机上打字,我目前没有PC访问权限。

编辑:无法将我的IP列入白名单或与网站所有者联系

默认情况下,HtmlUnit抛出exception(这不是真正的浏览器所做的),这是故意的。

无论如何,你可以使用webClient.getOptions()。 setThrowExceptionOnFailingStatusCode (false)。

此外,你需要wait ,下面是一个例子:

  try (final WebClient webClient = new WebClient(BrowserVersion.CHROME)) { webClient.getOptions().setThrowExceptionOnFailingStatusCode(false); String url = "http://www.osbot.org/"; HtmlPage htmlPage = webClient.getPage(url); webClient.waitForBackgroundJavaScript(10_000); System.out.println(htmlPage.asText()); } 

您应该询问网站所有者是否可以将您的IP列入白名单。 如果你正在做任何事情,比如试图刮网站,那么他们可能不会要你。

Interesting Posts