gpt4 book ai didi

ruby ::Mechanize::cookie_jar

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:47 24 4
gpt4 key购买 nike

我有一个网站可以进行四种不同的重定向,而且似乎并不总是传递 cookie。

所以我在这里进行了研究并尝试了一些解决方案,例如:

创建一个临时 cookie_jar 并每次分配它。我也试过像这样手动传递 cookie:

cookie = Mechanize::Cookie.new("TLSID",bot.cookie_jar.jar['.manageyourloans.com']    
["/"]["TLSID"].value)
cookie.domain = ".manageyourloans.com"
cookie.path = "/"
bot.cookie_jar.add(bot.history.last.uri,cookie)

cookie = Mechanize::Cookie.new("TLHID",bot.cookie_jar.jar['.manageyourloans.com']
["/"]["TLHID"].value)
cookie.domain = ".manageyourloans.com"
cookie.path = "/"
bot.cookie_jar.add(bot.history.last.uri,cookie)

上面的问题是如果它不需要传递我会得到一个错误。
是否可以执行以下操作。似乎有 10-12 个不同的 cookie 值被传递,一些与每个页面(重定向)或只是其中的几个。我如何执行上述操作并手动传递 cookie,但如果该值不存在则只传递 null?

或者有更好的方法吗?

最佳答案

我注意到过去某个版本的 mechanize 有一个问题,当 cookie 域看起来像:.domain.com 并且请求是针对 domain.com 时,cookie 不会被设置。

这可能不是处理它的最佳方法,但我当时的解决方案是通过猴子补丁机制去除 cookie 的域部分:

class Mechanize::Cookie
class << self; alias_method :old_parse, :parse end
def self.parse(uri, str, log = Mechanize.log, &block)
str.gsub!(/domain[^;]*;/,'')
old_parse(uri, str, log, &block)
end
end

关于 ruby ::Mechanize::cookie_jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194416/

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