Я хочу написать сценарий bash, который будет уведомлять меня об изменениях на временной шкале trac wiki. К сожалению, я не могу войти в систему (для следующих входов требуется cookie).
wget http://someserver.com/trac/xxx/login \
--save-cookies=cookies --keep-session-cookies
wget http://someserver.com/trac/xxx/login \
--load-cookies=cookies \
--save-cookies=cookies.new --keep-session-cookies\
--post-data=user=viroos&password=myPassword
Я получил:
Error 400: Bad Request
Я также пробовал параметры --user --password:
wget --no-check-certificate --user viroos --password myPassword\
https://someserver.com/trac/xxx/timeline?ticket=on&changeset=on&milestone=on&wiki=on&blog=on&max=50&daysback=90&format=rss
Но при этом загружается только страница входа.
Что я делаю не так?
Думаю, вы очень близки к решению. Это должно работать в зависимости от вашей конфигурации:
wget --no-check-certificate --user viroos --password myPassword \
--save-cookies=cookies --keep-session-cookies \
https://someserver.com/trac/xxx/login
wget --no-check-certificate --load-cookies=cookies \
https://someserver.com/trac/xxx/timeline?ticket=on&changeset=on&milestone=on&wiki=on&blog=on&max=50&daysback=90&format=rss
Первый вызов выполняет авторизацию по URL-адресу / login и сохраняет cookie аутентификации. Второй звонок должен получить желаемое.
Это будет работать, если у вас включена базовая автоматизация на .... / trac / URL-адресе входа.
Флаги пароля --user / - в wget для URL-адресов http относятся к базовой аутентификации HTTP. Trac имеет собственный механизм входа в систему, поэтому в этом случае эти флаги работать не будут.
Есть способ делать то, что вы хотите (хотя я не уверен, что wget способен на это), но, прежде чем тратить время на это направление, рассматривали ли вы возможность использования RSS-канал временной шкалы TRAC?
RSS-канал позволит вам подписаться на изменения временной шкалы с помощью вашего любимого RSS-ридера и получать уведомления о них. Он также предоставит вам стандартный файл XML для легкого анализа, чтобы вы могли делать с данными все, что захотите.