Загрузите файл с помощью curl, выполните перенаправление и загрузите следующую веб-страницу

Заранее извиняюсь, если то, о чем я прошу, очевидно, или ответ уже был где-то еще. Я пытался следовать различным руководствам и теперь боролся в течение нескольких часов, но мне не удалось никуда добраться. Возможно ты можешь помочь мне?

Я хотел бы загрузить файл на веб-страницу с помощью формы PHP (используя POST), затем выполнить перенаправление веб-страниц и загрузить следующую веб-страницу / HTML-файл. Насколько я понимаю, предполагается, что cURL будет использоваться для подобных работ (как вы можете видеть, я совершенно новичок в этом).

Вот тестовый файл, который я хотел бы загрузить:
hiddenlink

Это веб-страница с формой PHP, на которую я хотел бы загрузить тестовый файл:
hiddenlink

Вы можете вручную загрузить тестовый файл в браузер. Затем веб-страница перенаправит вас на новую веб-страницу с большой таблицей. Этот веб-сайт / HTML-файл может быть сохранен вручную.

Я хотел бы повторить этот подход в терминале, не используя браузер.

Это код, который я использовал до сих пор:

curl -vL --form fileToUpload=@Test_Upload.txt --form press=submit *hiddenlink* -o savedpage.html

Идея состоит в том, чтобы загрузить тестовый файл, затем выполнить перенаправление и сохранить новую веб-страницу как savepage.html. Это не работает. Можете ли вы дать мне какие-либо указания по этому поводу? Опять же, мои самые глубокие извинения, но я впервые использую cURL.

1

Решение

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

Сама форма, расположенная по адресу /upload/ то, что вы публикуете, но если вы посмотрите на HTML формы, действие upload.php, Это где вы должны направить свой запрос. Примечание: curl не читает HTML, поэтому он не может понять, что, отправляя сообщение по первому URL, вы хотите, чтобы оно затем отправлялось в форму, определенную в HTML; Вы должны понять это и сделать это самостоятельно.

curl -v -F fileToUpload=@foo.txt \
-F submit='Upload File' \
-o savedpage.html \
http://www.example.com/upload/upload.php

-L не нужно, потому что не похоже, что сайт отправляет какие-либо Location заголовки; Тем не менее, это не больно иметь.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector