因此,我有一个Python脚本,它可以成功地使用get和post请求调用一系列URL,这最终会产生一个身份验证令牌,我可以在进一步的工作中使用它。Python脚本使用requests库,并从一个Session对象开始,如下所示:
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状态。
我正在研究httparty和rest-client,以获得相同的魔力功能。我看到了对cookiejar和参考资料的引用,但是到目前为止,使用cookiejar来设置cookie对我来说并不起作用。
在Ruby生态系统中,有没有一种方法可以像Python的requests.Session那样自动处理跨多个请求的cookies?
谢谢~~
发布于 2018-02-24 00:12:47
试试mechanize。例如:
mechanize = Mechanize.new
page = mechanize.get(url)
other_page = mechanize.get(other_url)这将跨请求持久保存cookie。
https://stackoverflow.com/questions/48951609
复制相似问题