Назад | Перейти на главную страницу

Использование wget для получения веб-сайта, защищенного паролем (страница trac wiki)

Я хочу написать сценарий 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 для легкого анализа, чтобы вы могли делать с данными все, что захотите.