我有文件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服务器上工作得很好,但是当它上传到在线网络服务器时,有些人无法从网址解析该参数。
我该如何解决?
答案 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 )