1

我正在尝试从请求中获取查询和数据(GET 参数和 POST 参数)

curl --data "foo=bar&hello=world" "http://localhost:8080/mypath?orange=5&apple=8"

.

query_string = cherrypy.request.query_string  # 'orange=5&apple=8'
post_data = cherrypy.request.body.params  # {'foo': 'bar', 'hello': 'world'}

post_data 是正确形成的。我如何像 post_data 一样解析 query_string?

我在cherrypy doc上阅读,我看到了这个:

process_query_string()

将查询字符串解析为 Python 结构。(核)

但这不起作用,正在cherrypy.request.process_query_string()返回None

有任何想法吗?

4

2 回答 2

3

CherryPy 用于cherrypy.lib.httputil.parse_query_string使用 GET 参数填充 request.params,您可以像这样使用它:

from cherrypy.lib.httputil import parse_query_string
parse_query_string(cherrypy.request.query_string)

它返回带有解析查询字符串参数的字典。

于 2013-09-08T13:44:50.423 回答
0

查询 = urllib.parse.parse_qs(cherrypy.request.query_string, True)

于 2013-09-08T13:37:17.600 回答