我知道这是一个很老的问题,但我正试图找到一种方法,通过我的python登录脚本,设置CookieCrumbler cookie,在成功登录并访问受限URL时自动发送给用户
我的目标是允许我的python脚本调用zsql方法,并根据用户的帐户类型(数据库中的一列)重定向用户。我现在已经完成了所有工作,但是跨越了两个不同的python脚本。第一个脚本登录用户并重定向到第二个脚本,该脚本调用zsql方法并相应地重定向用户。我希望能够在一个脚本中完成这一切,但如果没有发送cookie,则该用户的用户名不会存储在cookie中,因此zsql方法无法访问
我知道如何在注销时使cookie过期,但当我将其更改为setCookie时,它希望我定义整个cookie,这当然需要CookieCrumbler来完成
我的一个想法是让python以某种方式无形中命中一个安全的URL,并将cookies发送到用户的浏览器,睡眠2秒钟以确保它们通过,然后继续sql操作
另一个选择是我已经提到的,那就是让CookieCrumbler直接将cookies发送到用户的浏览器,而不必尝试访问安全的URL
以下是我现在掌握的代码:
import time
request = container.REQUEST
response = request.response
context.REQUEST.RESPONSE.setCookie('__ac', path='/')
context.REQUEST.RESPONSE.setCookie('__ac_name', path='/')
time.sleep(3)
for user in context.account_data_select():
if user.account_type == 12 :
response.redirect("https://secure.mydomain.com/secure/blah")
else:
response.redirect("https://secure.mydomain.com/secure")
当然,这不起作用,因为setCookie需要3个变量(名称、值、选项)。我不想手动设置这些。我希望CookieCrumbler完成它的工作,并为用户的浏览器提供适当的cookies
顺便说一句,我使用的是Zope2.13.29,而不是Plone。只是Python 2.7.2中的标准旧Zope
目前没有回答
相关问题 更多 >
编程相关推荐