使用python获取QUERY_STRING

时间:2013-09-27 09:20:53

标签: python

苦苦挣扎,看看为什么这不起作用:

import MySQLdb
import cgi, cgitb
import os
from wsgiref.simple_server import make_server
from cgi import parse_qs, escape

def index(req):

    d = parse_qs(os.environ['QUERY_STRING'])

    dtbox = d.get('dt', [''])[0]
    tmbox = d.get('tm', [''])[0]

该脚本返回KeyError:QUERY_STRING

我可以看到以下网址:

http://myserver/currentcost.py?dt=2013-09-10&tm=00

我只是迷路了!

2 个答案:

答案 0 :(得分:0)

尝试:

req.subprocess_env['QUERY_STRING']

这就是它应该如何与mod_python一起使用;你以前做这件事的方式似乎是为了CGI。

另外,作为旁注,我认为做得更好:

d.get('dt', [None])[0]

而不是

d.get('dt', [''])[0]

答案 1 :(得分:0)

尝试使用:

d = parse_qs(os.environ.get('QUERY_STRING',''))

这对我有用,因为我有同样的问题。经过一段时间的研究,我遇到了这个解决方案,此后一切似乎都可以正常工作。