首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要在Ruby ala Python的'requests‘库Session()对象中持久化cookies

需要在Ruby ala Python的'requests‘库Session()对象中持久化cookies
EN

Stack Overflow用户
提问于 2018-02-23 23:49:32
回答 1查看 182关注 0票数 0

因此,我有一个Python脚本,它可以成功地使用get和post请求调用一系列URL,这最终会产生一个身份验证令牌,我可以在进一步的工作中使用它。Python脚本使用requests库,并从一个Session对象开始,如下所示:

代码语言:javascript
复制
session = requests.Session()
initial_auth = session.request('GET', login_url)
step_2_url = do_stuff_to_initial_auth()
intermediate_token = session.request('POST', step_2_url)
step_3_url = do_stuff_to_intermediate_token()
final_auth = session.request('GET', step_3_url)

我正在尝试将脚本移植到Ruby,但是脚本在最后一步失败了--远程服务返回一些“page Expired”html,而不是Python脚本接收到的成功页面。深入研究,我发现有相当数量的cookie状态从一个步骤传递到另一个步骤,并且Python requests.Session对象在幕后自动处理cookie状态。

我正在研究httpartyrest-client,以获得相同的魔力功能。我看到了对cookiejar和参考资料的引用,但是到目前为止,使用cookiejar来设置cookie对我来说并不起作用。

在Ruby生态系统中,有没有一种方法可以像Python的requests.Session那样自动处理跨多个请求的cookies?

谢谢~~

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-24 00:12:47

试试mechanize。例如:

代码语言:javascript
复制
mechanize  = Mechanize.new
page       = mechanize.get(url)
other_page = mechanize.get(other_url)

这将跨请求持久保存cookie。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48951609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档