Итак, я пробовал это уже пару дней, и у меня действительно не осталось времени, так как проект должен состояться завтра. Мне было интересно, может ли кто-нибудь помочь мне в этом. Я пытаюсь загрузить PDF-файл по этой ссылке, которая является ссылкой на веб-страницу содержимого PDF. Я попытался использовать Jsoup, но Jsoup не поддерживает веб-страницы, когда они написаны в формате PDF. Это код, который я пытался использовать:Загрузка файла PDF с защищенной веб-страницы
System.out.println("opening connection");
URL url = new URL("https://www.capitaliq.com/CIQDotNet/Filings/DocumentRedirector.axd?versionId=1257051021&type=pdf&forcedownload=false");
InputStream in = url.openStream();
FileOutputStream fos = new FileOutputStream("/Users/HIDDEN/Desktop/fullreport.pdf");
System.out.println("reading file...");
int length = -1;
byte[] buffer = new byte[1024];// buffer for portion of data from
// connection
while ((length = in.read(buffer)) > -1) {
fos.write(buffer, 0, length);
}
fos.close();
in.close();
System.out.println("file was downloaded");
Проблема с этим кодом является то, что он автоматически переадресует вас на страницу входа в систему, в которой вы должны ввести имя пользователя и пароль. Поэтому мне нужно найти способ войти в мою учетную запись и подключиться к странице без использования Jsoup (как уже упоминалось ранее, это невозможно прочитать в формате PDF). Если кто-то может изменить этот код, чтобы я мог войти в систему, а затем загрузить pdf, просмотрев html этой страницы входа и отредактировав код. Я был бы бесконечно благодарен. Спасибо!
мы здесь не делать строчить код для вас. Короче говоря, вы должны копировать все, что происходит в браузере. если это логин на основе формы, вам необходимо реплицировать эту форму представления, захватить любые соответствующие файлы cookie/auth и использовать те, которые содержатся в запросе, для захвата pdf. –
Я знаю это. Мой вопрос заключается в том, как нужно делать это без Jaunt или Jsoup ... – Serpemes
Я не согласен, там уже есть API, которые сделают это для вас. Не изобретайте велосипед. – roundar