PDF直接下载问题

问题描述 投票:0回答:1

网站 vermittelerregsiter.info 允许通过常规 GET 请求下载 PDF 文件: 例如。 https://www.vermittlerregister.info/recherche?a=pdf®isternummer=D-W-111-BHC1-55

我们想用 JAVA 使其自动化[用于批量加载],但我们失败了。

失败的尝试

参见一些例如。我们尝试过的方法:

  1. https://medium.com/@pasanmanohara/download-a-pdf-file-from-a-url-in-the-spring-boot-java-30fa325d6ab9
  2. https://www.baeldung.com/java-download-file#using-java-io(第2点)
  3. 用浏览器抓取自己的请求。

所有这些返回网页而不是 PDF 文件

假定的站点/服务器操作

我检查过,结果是网站首先检查机器人或真实用户(浏览器)是否在请求,然后才返回 PDF:

当我尝试在浏览器(Edge 和 Chrome)中打开 PDF 链接时,
(1) 网页首先打开[并在那里检查浏览器的真实性]——我的假设。
(2) 当我再次请求相同的链接 (F5) 时,文件确实被加载。后续请求立即下载 PDF。
我们可以尝试“双击”或类似的东西吗?

检查现场是否有反机器人

检查反机器人(在 discord 服务器)已显示该网站没有这些

enter image description here

java pdf browser download bot-check
1个回答
0
投票

首先,当访问不带

?a=pdf
参数的网址时,他们似乎确实有一些反机器人检查器: enter image description here

其次,我认为您的请求不起作用的原因是您必须在请求旁边传递会话 cookie 标头。这是一个

curl
示例:

curl 'https://www.vermittlerregister.info/en/search?a=pdf&registernummer=D-W-111-BHC1-55' -H 'Cookie: session=<YOUR_SESSION_COOKIE>;' > test.pdf

您可以通过浏览器中的 URL 来获取 cookie 会话: enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.