gpt4 book ai didi

JAVA:如何下载servlet动态创建的网页

转载 作者:太空宇宙 更新时间:2023-11-04 14:04:47 25 4
gpt4 key购买 nike

我想从此 URL 将网页源下载到文件 (*.htm)(即包含所有 html 标记的整个内容):

http://isap.sejm.gov.pl/DetailsServlet?id=WDU20061831353

与 FileUtils.copyURLtoFile 方法完美配合。

但是,该 URL 还包含一些链接,例如我非常感兴趣的链接:

http://isap.sejm.gov.pl/RelatedServlet?id=WDU20061831353&type=9&isNew=true

如果使用常规浏览器打开它,此链接工作得很好,但是当我尝试通过 FileUtils 在 Java 中下载它时,我只得到一个无内容页面,其中包含一条消息“trwa ladowanie danych”(意思是:“正在加载数据...”),但随后什么也没有发生,目标页面未加载。

有人可以帮我解决这个问题吗?从 URL 中我可以看到该页面使用了 Servlet——是否有特殊的方法来下载使用 Servlet 创建的页面?

问候——

最佳答案

这不是 servlet 问题 - 这只是碰巧是用于实现服务器的技术,但通常客户端不需要关心这一点。我强烈怀疑这只是服务器根据请求 header (例如用户代理)使用不同的数据进行响应。例如,当我使用 curl 获取它时,与在 Chrome 中加载它时相比,我看到了非常不同的响应。

我建议您尝试使用curl,发出一个看起来尽可能接近浏览器请求的请求,然后进行修改,直到您可以准确地找出涉及哪些 header 。您可能想使用 WiresharkFiddler以便轻松查看所涉及的确切请求/响应。

当然,即使您可以正确获取原始 HTML,仍然存在所有 Javascript - HTML 不包含任何数据是完全可行的,但它包含执行实际数据获取的 Javascript。我不认为这个特定页面是这种情况,但您很可能会发现这种情况发生在

关于JAVA:如何下载servlet动态创建的网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980591/

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