Google App Engine:如何解码POST正文?

2 投票
2 回答
1083 浏览
提问于 2025-04-15 12:51

新手问题...

我正在使用Silverlight将数据发送到我的GAE应用程序。

  class XmlCrud(webapp.RequestHandler):
    def post(self):

      body = self.request.body

数据传过来没问题,但它被转义成这样:

%3C%3Fxml+version=%221.0%22+encoding%3D%22utf-16%22%3F%3E%0D%0A%3CBosses+xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22+xmlns%3Axsd

我该怎么解开这个转义呢?

2 个回答

0

如果帖子内容只是一个XML文档,我建议你根本就不要进行编码。

3

我同意Hank的看法。

不过,针对你实际的问题,你的例子是经过URL编码的。要解码的话,你需要把每个%XX替换成对应的字符,XX是十六进制的值,同时把+替换成空格。

urllib.unquote_plus可以做到这一点,文档里说它在App Engine中可用。

关于urllib的文档:https://docs.python.org/library/urllib.html

关于urllib支持的声明(可能还有其他支持):http://code.google.com/appengine/docs/python/urlfetch/overview.html

撰写回答