在Java中模仿wget --no-check-certificate --secure-protocol = TLSv1

时间:2015-12-11 17:55:47

标签: java file ssl download wget

我正在尝试下载一个带有身份验证的网站背后的文件。 该服务给出了一个使用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

我知道如何解决--no-check-certificate --secure-protocol = TLSv1?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这是一个执行此操作的库,并提供了如何使用它的示例。

https://github.com/axet/wget

答案 1 :(得分:0)

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

 httpsConnection.setInstanceFollowRedirects(false);

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

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