gpt4 book ai didi

ruby - 如何手动将 cookie 添加到 Mechanize 状态?

转载 作者:数据小太阳 更新时间:2023-10-29 06:29:31 24 4
gpt4 key购买 nike

我在 Ruby 工作,但我的问题也适用于其他语言。

我有一个 Mechanize 驱动的应用程序。我正在与之交谈的服务器使用 JavaScript(而不是标准的 set-cookie)设置一个 cookie,因此 Mechanize 不会捕获该 cookie。我需要在下一个 GET 请求时将该 cookie 传回。

好消息是我已经知道 cookie 的值,但我不知道如何告诉 Mechanize 将它包含在我的下一个 GET 请求中。

最佳答案

我通过推断(和阅读资料)得出结论:

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 现在需要 add 方法中的 URL。这是修改后的方法,假设您已经使用代理完成了 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)

关于ruby - 如何手动将 cookie 添加到 Mechanize 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com