2015-06-11 28 views
0

GET PARAMS我有文件test.py:可以解析從URL

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,結果我得到的是:

的Hello World

意思是我無法從網址,以獲取參數 「PERSON_NAME」。

p.s.它在我的本地主機服務器上工作得很完美,但是當它上傳到在線網絡服務器時,爲什麼不能從URL解析參數。

我該如何解決?

回答

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,使用此:

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

它返回一個內部服務器錯誤。我應該導入任何東西以使其工作? – Yura

+1

導入請求 –

+0

我收到一個錯誤:「ImportError:No module named requests」。我也無法安裝此模塊,因爲我在共享服務器上...請提供其他建議嗎? – Yura