Java中的Mimic wget——没有检查证书——安全协议=TLSv1



我正在尝试下载一个文件,该文件位于带有身份验证的网站后面。该服务提供了一个使用wget下载文件的示例脚本。

现在,我正在尝试在Java 中模拟该功能

set WGET_PARAM= --no-check-certificate --secure-protocol=TLSv1
set DOWNLOAD_PARAM=-nd -N -r --level=2 --include-directories=blob --accept=csv,txt,zip %PAGE%
REM * wget --save-cookies cookies.txt  %WGET_PARAM% --keep-session-cookies --post-data %ACCOUNT% -O NUL https://www.example.com!login
wget --load-cookies cookies.txt  %WGET_PARAM%  %DOWNLOAD_PARAM% 
REM * wget --load-cookies cookies.txt  %WGET_PARAM% --post-data="x=1"  -O https://www.example.com!logout

知道我如何绕过无检查证书安全协议=TLSv1吗?

谢谢你的帮助。

这里有一个库,它提供了一个如何使用它的例子

https://github.com/axet/wget

我已经按照@Andrew Henle的建议做了。我遇到的一个问题是获取会话cookie。解决方案是使用

 httpsConnection.setInstanceFollowRedirects(false);

这也有助于:为了能够在HttpURLConnection.getHeaderFields中查看设置Cookie值,不应该设置CookieManager。

https://bugs.openjdk.java.net/browse/JDK-8036017

最新更新