Google App Engine:如何解码POST正文?
新手问题...
我正在使用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