我有一个简单的服务器,它会将JSON返回给用户。我希望为服务提供一些输入,所以我使用查询参数:
/path?paramName=paramValue¶mName2=paramValue2....¶mNamen=paramValuen
在Python中,解析这些参数的最佳方法是什么?
我的服务器是一个如下定义的线程服务器:
class ThreadingSimpleServer(SocketServer.ThreadingMixIn,
BaseHTTPServer.HTTPServer):
""" simple threaded server """
pass
在我的请求处理程序中,我实现了do_GET()
。
我是否应该根据?
对此功能进行拆分,以从参数中分离出路径,然后再次在&
上拆分,或者有更好的方法吗?
答案 0 :(得分:1)
使用urllib.parse
中的功能:
import urllib.parse
u = "http://java.dzone.com/articles/python-201-decorators?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+zones%2Fpython+%28Python+Zone%29"
p = urllib.parse.urlparse(u)
q = urllib.parse.parse_qs(p.query)
print(q)
输出:
{'utm_campaign': ['Feed: zones/python (Python Zone)'],
'utm_medium': ['feed'],
'utm_source': ['feedburner']}