Как вручную добавить cookie для Механизации состояния?

Я работаю в Ruby, но мой вопрос допустим для других языков также.

У меня есть Механизирование - управляемое приложение. Сервер я говорю с наборами cookie с помощью JavaScript (а не cookie стандартного набора), поэтому Механизирует, не ловит cookie. Я должен пасовать назад тот cookie на следующем, ПОЛУЧАЮТ запрос.

Хорошие новости - то, что я уже знаю значение cookie, но я не знаю, как сказать, Механизируют для включения его в мое следующее, ПОЛУЧАЮТ запрос.

22
задан the Tin Man 14 June 2014 в 07:59
поделиться

1 ответ

Я выяснил это путем экстраполяции (и чтения источников):

agent = Mechanize.new
...
cookie = Mechanize::Cookie.new(key, value)
cookie.domain = ".oddity.com"
cookie.path = "/"
agent.cookie_jar.add(cookie)
...
page = agent.get("https://www.oddity.com/etc")

Похоже, все работает отлично.

обновление

Как указывает @Benjamin Manns, Mechanize теперь хочет URL в методе add. Вот измененный рецепт, предполагающий, что вы выполнили GET с помощью агента и что последняя посещенная страница является доменом для cookie (сохраняет URI. parse()):

agent = Mechanize.new
...
cookie = Mechanize::Cookie.new(key, value)
cookie.domain = ".oddity.com"
cookie.path = "/"
agent.cookie_jar.add(agent.history.last.uri, cookie)
31
ответ дан 29 November 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: