gpt4 book ai didi

java - HtmlUnit 页面响应(下载文件)

转载 作者:行者123 更新时间:2023-12-02 04:37:43 25 4
gpt4 key购买 nike

所以我尝试使用 HtmlUnit 访问某个 URL,但是一旦您访问该 URL,它就会下载一个有关您想要的数据的 json 文件。不知道如何表达,但基本上在 HtmlUnit 中如何从下载的文件中获取结果。

我在这里解释得很糟糕

尝试通过此检查用户可用性

private static final String URL = "https://twitter.com/users/username_available?username=";

...

HtmlPage page = webClient.getPage(URL + users[finalUsersIndex]);

因此,基本上为每个用户名创建一个新页面,即 URL + 用户名返回用户可用性的 json 文件。我知道如何读取 json 文件,但问题是这样的

java.lang.ClassCastException: com.gargoylesoftware.htmlunit.UnexpectedPage
cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlPage

我在这条线上明白了

HtmlPage page = webClient.getPage(URL + users[finalUsersIndex]);

我想我需要为响应创建一个新页面,但我该怎么做,因为它会自动下载文件而不是本身,单击下载文件的按钮。 (如果我错了请纠正)

抱歉,凌晨 4 点

最佳答案

顾名思义,HtmlPage 是包含 HTML 的页面。 JSON 不是 HTML。

the documentation表示;

The DefaultPageCreator will create a Page depending on the content type of the HTTP response, basically HtmlPage for HTML content, XmlPage for XML content, TextPage for other text content and UnexpectedPage for anything else.

(强调我的)。

因此,正如您收到的异常所示,您观察到的行为是已记录的行为:您收到的页面既不是 HTML,也不是 XML,也不是文本,因此您得到 UnexpectedPage .

因此,您的代码应该是:

UnexpectedPage page = webClient.getPage(URL + users[finalUsersIndex]);

关于java - HtmlUnit 页面响应(下载文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30555147/

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