【问题标题】:Beaker Session across GET and POST on Google App Engine?跨 Google App Engine 上的 GET 和 POST 的烧杯会话?
【发布时间】:2012-07-18 00:08:08
【问题描述】:

我在 Google App Engine 上使用 Beaker Session 来管理 HTTP 请求之间的持久数据。

是否可以从 GET 和 POST 请求访问相同的会话?

我试图访问会话对象,但它们不是同一个对象:

def get(self):
    session = self.request.environ['test.beaker.session']
    ...

def post(self):
    session = self.request.environ['test.beaker.session']
    ...

【问题讨论】:

  • 你在 Android 之外测试过这个吗?这篇文章可能会有所帮助:stackoverflow.com/questions/3407764/…
  • 谢谢!我认为这可以解释这个问题,因为在 POST 中我使用 BasicHttpContent 和 CookieStore 但在 GET 中我使用 WebView 加载网页。
  • @Sologoub 我们可以发布这个问题的答案吗?那么我可以接受你的回答。
  • 完成。很高兴您发现这对您有所帮助!

标签: android python google-app-engine session beaker


【解决方案1】:

看看这篇关于实现类似东西的帖子:Android: Example for using a cookie from HttpPost for HttpGet

答案是您需要确保会话 cookie 存储在 android 客户端,并且在与服务器的交互过程中可访问。

【讨论】:

    【解决方案2】:

    从请求到请求(记住多个服务器),它们不会是同一个对象(对象标识)。但是,通过正确的设置,会话对于用户会话将是一致的。

    如果没有自定义后端(appengine 的数据存储或内存缓存),您只能使用基于 cookie 的会话。如果您将某些内容放入会话中,则需要调用 session.save() 或将其配置为自动保存。你在你的代码中做过这些吗?

    您如何确定它们是不同的,对象身份或内容?

    您应该提供更多关于如何设置的详细信息。

    【讨论】:

    • 使用我们的服务,用户可以使用 POST 方法登录,并且一些数据存储在会话中,我想在另一个 GET 请求中访问数据。我在 POST 请求中向会话中添加了一些数据,但无法在 GET 请求中获取数据。
    猜你喜欢
    • 2011-01-03
    • 2011-07-28
    • 2012-11-23
    • 2017-12-12
    • 2011-06-14
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多