Некоторые PDF-файлы загружаются неправильно - PullRequest
0 голосов
/ 05 февраля 2019

У меня очень мало опыта в JAVA (работа над моей первой настоящей программой) искал решение в течение нескольких часов.Я взломал небольшую программу для загрузки файлов PDF по ссылке.Он работает нормально для большинства ссылок, но некоторые из них просто не работают.

Тип соединения для всех ссылок работает как application / pdf, но некоторые ссылки почему-то показывают соединение text / html.,

Я продолжаю пытаться переписать код, используя все, что могу найти в Интернете, но получаю тот же результат.

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.net.ConnectException;
import java.net.URL;
import java.net.URLConnection;

public class Main {

public static void main(String[] args) throws Exception {

    String link = "https://www.menards.com/main/items/media/UNITE051/SDS/SpectracideVegetationKillerReadyToUse2-228-714-8845-SDS-Feb16.pdf";
    String fileName = "File Name.pdf";

    URL url1 = new URL(link);

    try {
        URLConnection urlConn = url1.openConnection();
        byte[] buffer = new byte[1024];
        double downloaded = 0.00;
        int read = 0;

        System.out.println(urlConn.getContentType()); // This shows as text/html but it should be PDF

        FileOutputStream fos1 = new FileOutputStream(fileName);
        BufferedInputStream is1 = new BufferedInputStream(urlConn.getInputStream());
        BufferedOutputStream bout = new BufferedOutputStream(fos1, 1024);

        try {

            while ((read = is1.read(buffer, 0, 1024)) >= 0) {
                bout.write(buffer, 0, read);
                downloaded += read;
            }

            bout.close();
            fos1.flush();
            fos1.close();
            is1.close();

        } catch (Exception e) {}
    } catch (Exception e) {}

}

}

Мне нужно иметь возможность скачать PDF по ссылке вкод.

Это то, что сохраняется в текстовом документе PDF:

<html>
<head>
<META NAME="robots" CONTENT="noindex,nofollow">
<script src="/_Incapsula_Resource?SWJIYLWA=5074a744e2e3d891814e9a2dace20bd4,719d34d31c8e3a6e6fffd425f7e032f3">
</script>
<body>
</body></html>

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

На сайте реализована проверка, чтобы убедиться, что я использую браузер.Я скопировал пользовательский агент из Chrome, и он позволил мне скачать PDF.

0 голосов
/ 05 февраля 2019

URL-адрес, который вы выбираете, не указывает на файл PDF.Он указывает на файл HTML, который встраивает файл PDF.Вам, вероятно, нужно внимательно посмотреть, что такое URL к PDF-файлу.С вашим кодом все в порядке.

Просто сделайте взлом на URL и посмотрите.Скорее всего, он вернет HTML-файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...