我正在Debian 9上使用python 2.7.1+。客户端/服务器在同一台计算机上。 HTML形式为:
<form method="get" action="parsing_get">
python代码是:
def run_server(environ, start_response):
d = parse_qs(environ['QUERY_STRING'])
print('input is:')
print(environ['QUERY_STRING'])
print(environ)
start_response('200 OK', [('Content-Type', 'text/html')])
geturl = environ['PATH_INFO']
for item in url:
if item[0] == geturl:
return item[1]()
else:
return '404'
当我使用Chrome时,我得到的environ ['PATH_INFO']为空,但是我使用IE进行测试,我将得到该用户发布的environ ['PATH_INFO']。 Chrome的结果是:
输入为:
{'HTTP_REFERER':'http://localhost:8000/home/parsing_get.wsgi?name=1&code=2&gender=3&team=4&team_leader_name=5', 'SERVER_PROTOCOL':'HTTP / 1.1','SERVER_SOFTWARE':'WSGIServer / 0.1 Python / 2.7.13”,“ HOSTTYPE”:“ x86_64”,“ REQUEST_METHOD”:“ GET”, 'LOGNAME':'root','USER':'root','HOME':'/ root','QUERY_STRING': ” ,“ PATH” .....}
您可以设置HTTP_REFERER的参数为 parsing_get.wsgi?name = 1&code = 2&gender = 3&team = 4&team_leader_name = 5。但是 'QUERY_STRING':'',为空。
然后我使用IE进行测试:
输入的是:name = 1&popo = 2&gender = 3&team = 4&team_leader_name = 5 {'HTTP_REFERER':'http://localhost:8000/home/','SERVER_PROTOCOL': 'HTTP / 1.1','SERVER_SOFTWARE':'WSGIServer / 0.1 Python / 2.7.13', 'HOSTTYPE':'x86_64','REQUEST_METHOD':'GET','LOGNAME':'root', 'USER':'root','HOME':'/ root','QUERY_STRING': '名称= 1&code = 2&gender = 3&team = 4&team_leader_name = 5','QUERY_STRING' 得到参数,它是正确的。
是什么原因造成了这种现象,应如何解决?