Загрузите статью с помощью cURL с динамической ссылкой для загрузки

Я пытаюсь загрузить эту опубликованную статью в журнале, используя cURL . Это главная страница открытого доступа, поэтому для просмотра / загрузки статьи не должно быть проблем. Затем я извлекаю pdfurl , который продолжает меняться.

Затем я пытаюсь загрузить pdf:

 curl -L -o test.pdf "http://www.sciencedirect.com/science/article/pii/S0378426612000817/pdfft?md5=6a85f34def09dd5cfb1d1b8feded0d51&pid=1-s2.0-S0378426612000817-main.pdf" 

но все время перенаправляет меня на главную страницу, которая затем загружается как html-страница под названием «test.pdf».

Кажется, что curl обрабатывает перенаправления по-разному от wget по умолчанию. Прямой URL-адрес загрузки будет включать в себя некоторые переадресации, а также требует, чтобы заголовок HTTP-заголовка был правильно настроен после первого перенаправления (в противном случае вы получите HTML-страницу).

Во-первых, вам нужно включить переадресацию адресов в curl с помощью -L , а затем включить автоматическую обработку curl для заголовка референта с помощью --referer ";auto" , то есть,

 curl -L --referer ";auto" -o test.pdf URL-for-direct-download 

Мне удалось получить этот штраф

wget -O main.pdf " http://ac.els-cdn.com/S0378426612000817/1-s2.0-S0378426612000817-main.pdf?_tid=5eb365f4-ea5e-11e4-b707-00000aacb360&acdnat=1429865356_af9bf791080efa05beb6e88a2c82b41b "