重定向到需要会话cookie的页面

时间:2016-05-11 20:44:18

标签: python bottle

我正在寻找有关如何重定向到需要会话cookie的页面的建议。我希望允许用户在给定服务的正确用户名和密码的情况下自动重定向到登录的此外部服务。

我有一个能够登录服务器端,获取重定向URL和会话cookie的功能。

 with requests.session() as s:
    r = s.post("https://someservice.com/Account/LogOn",
               data=payload)

    redirect_object = {'url':r, 'session':s}
    return redirect_object

当我尝试使用

重定向时
bottle.redirect(redirect_object['url'])

我显然是以登录用户的身份发送到登录页面而不是主页,因为我的浏览器中没有会话信息。

如何在重定向到主页时传递此会话信息?这可能吗?

1 个答案:

答案 0 :(得分:0)

来自requests.models.Response的回复不是网址,而是bottle.redirect类型的对象。

requests.models.Response采用网址(字符串),而不是bottle.redirect('http://example.com/home') 对象。

如果您的应用程序足够简单,也许您可​​以通过对登录后页面进行硬编码来实现:

resp = s.post(...)
resp_dict = json.loads(resp.content)
bottle.redirect(resp_dict['post_auth_url'])

否则,您应该查阅登录服务的API文档,了解如何从响应中提取URL。例如,也许他们返回你需要解码的json,它包含一个“url”字段。

selections