可以从URL解析GET参数

时间:2015-06-11 13:32:28

标签: python python-3.x cgi

我有文件test.py:

import cgi, cgitb                                      # Import modules for CGI handling    

form = cgi.FieldStorage() 
person_name = form.getvalue('person_name')


print ("Content-type:text/html\n\n")
print ("<html>")
print ("<head>")
print ("</head>")
print ("<body>")
print (" hello world <br/>")
print(person_name)
print ("</body>")
print ("</html>")

当我访问www.myexample.com/test.py?person_name=john时,我得到的结果是:

你好世界

意思是我无法得到参数&#34; person_name&#34;来自网址。

P.S。它在我的localhost服务器上工作得很好,但是当它上传到在线网络服务器时,有些人无法从网址解析该参数。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

然后使用

form_arguments = cgi.FieldStorage(environ={'REQUEST_METHOD':'GET', 'QUERY_STRING':qs})

for i in form_arguments.keys():
    print form_arguments[i].value

在我之前的回答中,我假设你有webapp2。我认为这将解决你的目的。

或者你可以尝试:

import urlparse
url = 'www.myexample.com/test.py?person_name=john'
par = urlparse.parse_qs(urlparse.urlparse(url).query)

person_name= par['person_name']

要获取当前网址,请使用以下网址:

url = os.environ['HTTP_HOST']
uri = os.environ['REQUEST_URI']
url = url + uri
par = urlparse.parse_qs( urlparse.urlparse(url).query )