2010/12/10

[Python]pythonのURLエンコード

ajaxで送信されたパラメータをPython(正確に言うと、GoogleAppEngine)でキャッチすることはできたのですが、そこからURLエンコードするのに苦戦をしてしまいましたので、その方法を紹介。

import urllib
ajaxparam = self.request.get('hoge')
ajaxparam = ajaxparam.encode('utf-8')
ajaxparam = urllib.quote_plus(ajaxparam)

上のサンプルコードでは、ajaxparamがajaxでキャッチしたパラメータになります。

いきなり、urllib.quote_plus(ajaxparam)を実行すると、エラーになります。
(ちょーど下のような感じ)
import urllib
ajaxparam = self.request.get('hoge')
ajaxparam = urllib.quote_plus(ajaxparam)

これは、ajaxparam変数が、文字列かつエンコードが、UTF-8として認識されていないからだと思い、ajaxparam.encode('utf-8')を追加したら、正常終了することはできました。

参考
pythonのurlエンコードが酷い件について

0 コメント:

コメントを投稿