Как мне симулировать веб-сессию и сохранить полученный cookie с помощью Ruby?

Я тестирую приложение для обмена сообщениями, которое использует единый вход (SSO). Мне нужно смоделировать пользователя, подключающегося к WAM с помощью единого входа, затем мне нужно получить cookie-файл с сервера и сохранить его для дальнейших событий связи. Кто-нибудь знает, как это можно сделать с помощью Ruby?

2 ответа

Решение

Mechanize делает это автоматически. Есть также другие гемы клиента HTTP, которые могут поддерживать куки, например, этот пример httparty.

Если ваше намерение или необходимость состоит в том, чтобы сделать это более "органично", то вы могли бы использовать Watir для управления браузером и извлечения файла cookie (при условии, что он хранится на диске, а не в файле cookie сеанса), откуда браузер хранит его, используя нормальные функции ввода / вывода файлов. Если это сессионный cookie, то это немного сложнее, но вы обычно можете увидеть его с помощью инструментов разработчика, таких как firebug.

Если вы хотите, чтобы что-то работало на уровне HTTP, имитирующее браузер, см. Другой ответ, предоставленный MichaelW.

Другие вопросы по тегам