Mediawiki API имеет функцию входа в систему, которая возвращает куки и токен. Вы должны сохранить и отправить оба обратно в API для аутентификации сеанса и входа в систему. Вот способ сделать это с помощью curl и XMLstarlet в bash:
Отправьте запрос на токен для входа, сохранив куки в cookies.txt и вывод в output.xml.
curl -c cookies.txt -d "lgname=YOURNAME&lgpassword=YOURPASS&action=login&format=xml" http://your.mediawikiinstall.com/w/api.php -o output.xml
Затем извлеките токен из xml, используя XMLstarlet, и сохраните его как переменную bash.
YOURTOKEN=$(xml sel -t -m '//login' -v '//@token' output.xml)
Затем отправьте запрос на вход в систему, включая файл cookie и токен.
curl -b cookies.txt -d "action=login&lgname=YOURNAME&lgpassword=YOURPASS&format=xml&lgtoken="$YOURTOKEN http://your.mediawikiinstall.com/w/api.php