PDF существует по URL;но ошибка загрузки - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть определенные PDF-файлы по URL. Я могу просматривать файлы в браузере. Пример URL: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC109492/pdf/pgen.1000626.pdf?tool=pmcentrez

Но когда я делаю

URL url = new URL("http://www.ncbi.nlm.nih.gov/pmc/articles/PMC" + pmcid + "/pdf/pgen.1000626.pdf?tool=pmcentrez");

URLConnection con = url.openConnection();
InputStream urlIn = con.getInputStream();

Я получаю java.io.IOException: Server returned HTTP response code: 403

Что я делаю не так?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

Я могу быть рядом вещей. Чтобы назвать несколько:

  • Вы должны подтвердить подлинность
  • Вы должны установить User-Agent заголовок
  • Вы должны установить Accept header
1 голос
/ 28 мая 2012
        URL url = new URL("http://www.ncbi.nlm.nih.gov/pmc/articles/PMC109492/pdf/pgen.1000626.pdf?tool=pmcentrez");


        //for pdf
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=report" + ".pdf");

        URLConnection connection = url.openConnection();
        InputStream stream = connection.getInputStream();

        BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
        int len;
        byte[] buf = new byte[1024];
        while ((len = stream.read(buf)) > 0) {
            outs.write(buf, 0, len);
        }
        outs.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...