我需要从用户必须登录的网站下载一些pdf文件,然后才能下载任何文件。
如果用户未登录该站点,则指向pdf文件的链接将重定向到登录页面。
我设法将用户凭据发布到登录页面并保存响应中的cookie,我尝试在尝试下载时向toString()
提供cookie,但我仍然获取登录页面而不是我的pdf文件
更新代码。
发布用户凭据:
URLConnection
然后存储cookie并将其用于以下代码段
尝试下载pdf:
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write("username=" + username + "&password=" + password);
writer.flush();
writer.close();
os.close();
String result = HttpUtils.getResponseString(conn);
if (result.indexOf("Invalid") == -1) {
String cookie = conn.getHeaderField("set-cookie");
return cookie;
}