小编Owe*_*son的帖子

Google App Engine上的HTTP响应标头是否有大小限制?

我试图在appspot上的某些处理程序代码上运行一个分析器,并且正在寻找一种方法来显示pstats输出,而无需直接写入响应主体(对于使用结构化数据(如JSON)进行响应的处理程序会出现问题).

我决定尝试将输出写入响应头,并将一些js添加到我的html渲染处理程序,它可以解析标题和console.log()它(结果是非常简单和方便使用).对于非html渲染处理程序,我想我可能会尝试构建一个chrome扩展来做类似的事情,但当然,每当我对这样的处理程序进行ajax调用时,调用页面(用js来解析)标题)可以介入并处理显示.

所有这些看起来都很好,因为我正在测试dev_appserver,但后来我部署到appspot,发现我的自定义标头从未出现过.我在这个项目中有类似的代码片段跟踪某些操作的执行时间,以及我编写的自定义头文件显示正常.

我假设appspot python运行时进程有一个限制,如果它超过一定长度则省略标题,但我没有看到开发者网站上任何地方发布的大小.

如果实际上有限制,有人知道它是什么吗?

google-app-engine http-headers python-2.7

7
推荐指数
1
解决办法
851
查看次数

转义Google全文搜索服务的搜索查询

这是https://groups.google.com/d/topic/google-appengine/97LY3Yfd_14/discussion的交叉帖子

我正在使用gae 1.6.6中的新全文搜索服务,并且在将其传递给搜索索引之前,我无法弄清楚如何正确地转义我的查询字符串.文档提到某些字符需要被转义(即数字运算符),但是它们没有指定查询解析器如何期望字符串被转义.

我遇到的问题有两个:

  1. 如果没有从许多字符中删除废话(超过文档中暗示的那些字符)将导致解析器引发一个QueryException.
  2. 当我将查询转义到它不会引发的点时,数字运算符(>,<,> =,<=)不再正确解析(不会在搜索中计算).

我设置了一个测试,我string.printable进入my_index.search()并发现它会QueryException在每个"可打印"的控制字符上产生,我现在正在剥离,以及看似无辜的东西,如星号,逗号,括号,括号,代字号.在文档中没有提到这些都需要转义.

到目前为止,我已经尝试过:

  • cgi.escape()
  • saxutils.escape()使用ascii到urlencoded等效的映射(例如,- > %2C)
  • saxutils.escape()使用ascii映射到html实体编码的ascii代码(例如&#123;)
  • urllib.quote_plus()

到目前为止,我已经使用url-style(%NN)替换获得了最好的结果,但是>,<,> =和<=继续无法从索引中产生预期的结果.此外,这似乎与转义问题没有任何关系,但NOTfield = value类型查询前使用似乎也不像广告中那样工作.

TL;博士

在将查询发送到搜索服务之前,我应该如何转义我的查询,以便解析器不会引发QueryException ,我的查询会产生预期的结果?

python google-app-engine full-text-search

5
推荐指数
1
解决办法
1832
查看次数