Я создал сценарий для регулярной загрузки страницы с моего сайта оператора, чтобы собрать оставшуюся интернет-квоту.
Я использую копирование в качестве функции скручивания из браузера Chrome, вставляю их в свой скрипт, все работает.
Но когда я запускаю их как 1 час спустя, это не работает. Я подозреваю, что это связано с тем, что срок действия файлов cookie истек, есть ли какая-либо терминальная команда для получения запроса curl точно так же, как и копия как curl из chrome?
Это моя команда curl:
curl 'https://my.smartfren.com/mysmartfren_home' \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/72.0.3626.121 Chrome/72.0.3626.121 Safari/537.36' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' \
-H 'Accept-Language: en-US,en;q=0.5' \
--compressed \
-H 'Referer: https://my.smartfren.com/mysmartfren_login' \
-H 'Connection: keep-alive' \
-H 'Cookies:' \
-H 'Upgrade-Insecure-Requests: 1' \
-H 'Cache-Control: max-age=0' \
&> /dev/stdout \
| tee -a $LOG
я удалил печенье здесь BCS безопасности
Если вам нужны файлы cookie, вы можете попробовать заменить параметр cookie вашими актуальными обновленными файлами cookie, для этого вам необходимо войти на сайт через cURL.
Учитывая, что это сценарий, который вы создали, мы будем использовать переменную $COOKIES
для определения обновленного файла cookie.
Откройте элемент inspect и просмотрите форму, найдите в нем id поля пользователя и пароля - замените результат на команду ниже cURL.
COOKIES="cookies.txt"
curl -c $COOKIES --data "user=YOURUSER&pass=YOURPASS" https://login.site.com
Полученные куки могут быть использованы для вашей основной команды cURL, что-то вроде этого должно быть достаточно.
curl 'http://site.com' -H 'Referer: http://login.site.com' -b $COOKIES
Если $COOKIES
используется в качестве параметра куки, просто помните, что вы должны поместить файл $COOKIES
в ту же папку, где находится сценарий, или в другое место, которое вам нужно указать. Ну, вы поняли