需要在Ruby Python的“请求”库会话()对象中持久化cookie

需要在Ruby Python的“请求”库会话()对象中持久化cookie,python,ruby,python-requests,rest-client,httparty,Python,Ruby,Python Requests,Rest Client,Httparty,因此,我有一个Python脚本,它成功地使用get和post请求调用了一系列URL,最终生成了一个可用于进一步工作的身份验证令牌。Python脚本使用requests库,并从会话对象开始,如下所示: session = requests.Session() initial_auth = session.request('GET', login_url) step_2_url = do_stuff_to_initial_auth() intermediate_token = session.req

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

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,但脚本在最后一步失败了——远程服务返回一些“页面过期”html,而不是Python脚本接收到的成功页面。深入挖掘,我发现一步一步地传递大量cookie状态,Python requests.Session对象在幕后自动处理cookie状态

我正在研究HttpParty和rest客户端的等效魔术功能。我看到了对cookiejar和资源的引用,但到目前为止,使用cookiejar来设置cookies对我来说不起作用

在Ruby生态系统中是否有一种方法可以自动处理跨越多个请求(如Python的requests.Session)的cookie

谢谢~~

试试看。例如:

mechanize  = Mechanize.new
page       = mechanize.get(url)
other_page = mechanize.get(other_url)
这将跨请求持久化cookie