如何解决如何从 Watir cookie 生成 cookie 文件
我正在尝试从 Watir 下载文件,但我不想使用 loop sleep
方法。
我宁愿在交互的最后时刻重新创建 Watir 在网页上的会话并使用另一个库,例如 Typhoeus。
Typhoeus 使用 curl 并且可以使用文件中的 cookie,但是,Watir 生成一个哈希数组,如果我要求保存它,它会将其保存为 YAML 文件。
有没有更快的转换方法?
解决方法
StackOverflow 中的另一篇文章说 curl 使用 Mozilla style cookie files。
因此,如果您的 Watir 实例是 browser
并且您要写入的文件是 file
,您可以这样做
browser.cookies.to_a.each do |ch|
terms = []
terms << ch[:domain]
terms << ch[:same_site].nil? ? 'FALSE' : 'TRUE'
terms << ch[:path]
terms << ch[:secure] ? 'TRUE' : 'FALSE'
terms << ch[:expires].to_i.to_s
terms << ch[:name]
terms << ch[:value]
file.puts terms.join("\t")
end
然后您可以告诉 Typhoeus 使用 file
的内容使用相同的 cookie 继续导航。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。