CherryPy只接收第一个查询字符串参数

时间:2015-08-13 14:02:54

标签: python get cherrypy

我刚开始进入Python中的CherryPy模块领域。使用RESTful api设置服务器是多么容易,但我遇到了一个问题。我的代码只承认查询字符串中的第一个参数。

我想这样做一个GET请求: import cherrypy class getSum: exposed = True def GET(self, **params): a = float(params['a']) b = float(params['b']) return a+b if __name__ == '__main__': cherrypy.tree.mount(getSum(), '/api/sum/', {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}}) cherrypy.engine.start() cherrypy.engine.block()

我的Python代码如下:

params

在摆弄代码一段时间后,我得出以下诊断: 当查询字符串被读入{{1}}时,而不是在字典到达''时在字典中开始新条目。它只是停下来了。

有没有人对如何在单个查询字符串中读取多个参数有任何建议?

谢谢,肖恩。

1 个答案:

答案 0 :(得分:0)

我的问题中发布的Python脚本实际上是我想要做的工作实现。问题在于我正在制作卷曲请求。

'&'我的curl请求中的字符是截断我的bash命令,导致:curl -X GET 127.0.0.1:8080/api/sum/?a=2

对此的修复是将我的网址包含在引号中,如下所示:curl -X GET "127.0.0.1:8080/api/sum/?a=2&b=3"

执行此命令时,5.0将按预期返回到终端。

以下帖子包含有关在curl请求中使用&符号的有用讨论:How to include an '&' character in a bash curl statement