0
Dump Error:

Traceback (most recent call last):
  File "/base/data/home/apps/s~tagtoo-ec/1.361220954515344675/libs/handlers.py", line 69, in get
    self.beforeFilter()
  File "/base/data/home/apps/s~tagtoo-ec/1.361220954515344675/libs/handlers.py", line 51, in beforeFilter
    self.set_track()
  File "/base/data/home/apps/s~tagtoo-ec/1.361220954515344675/libs/handlers.py", line 99, in set_track
    track_id = self.request.cookies.get("tagtoo_user_track", None)
  File "/base/python_runtime/python_lib/versions/1/webob/__init__.py", line 985, in cookies
    vars = self.str_cookies
  File "/base/python_runtime/python_lib/versions/1/webob/__init__.py", line 973, in str_cookies
    cookies.load(source)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 619, in load
    self.__ParseString(rawdata)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 650, in __ParseString
    self.__set(K, rval, cval)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 572, in __set
    M.set(key, real_value, coded_value)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 451, in set
    raise CookieError("Illegal key value: %s" % key)
CookieError: Illegal key value: tagtoo_u{er_track

このエラー メッセージが数回表示されました。

質問は

  1. 私が使用しているキー値は「tagtoo_user_track」です。「tagtoo_u{er_track」はどこから来たのですか?
  2. このエラーは常に発生するとは限りません。すべてのリクエストで同じ方法を使用しました。完全に間違っている場合、この例外はすべてのリクエストで発生するはずです。ただし、エラー メッセージは数回しか発生しません。

グーグルアプリエンジンのバグですか?

編集1

別の Cookie キー「tagtoo_user_track」で再び発生しました。Cookie エンジンが「s」を気に入らないようです。

Traceback (most recent call last):
  File "/base/data/home/apps/s~tagtoo-ec/1.361220954515344675/libs/handlers.py", line 69, in get
    self.beforeFilter()
  File "/base/data/home/apps/s~tagtoo-ec/1.361220954515344675/libs/handlers.py", line 51, in beforeFilter
    self.set_track()
  File "/base/data/home/apps/s~tagtoo-ec/1.361220954515344675/libs/handlers.py", line 99, in set_track
    track_id = self.request.cookies.get("tagtoo_user_track", None)
  File "/base/python_runtime/python_lib/versions/1/webob/__init__.py", line 985, in cookies
    vars = self.str_cookies
  File "/base/python_runtime/python_lib/versions/1/webob/__init__.py", line 973, in str_cookies
    cookies.load(source)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 619, in load
    self.__ParseString(rawdata)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 650, in __ParseString
    self.__set(K, rval, cval)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 572, in __set
    M.set(key, real_value, coded_value)
  File "/base/python_runtime/python_dist/lib/python2.5/Cookie.py", line 451, in set
    raise CookieError("Illegal key value: %s" % key)
CookieError: Illegal key value: tagtoo_user_ses{ion
4

1 に答える 1

0

Cookie文字列にフォーマットエラーがあるようです。Python 2.5 Cookie ライブラリは、ユーザーが関連する Cookie 値を使用しているかどうかに関係なく、例外を発生させます。

間違った Cookie 値は次の方法で検出できます。 self.request.environ.get("HTTP_COOKIE")

したがって、この問題を回避するために例外が発生している間、Cookie を手動で解析します。

于 2012-08-27T06:28:19.300 に答える