2010-08-27 15 views
18

में तर्क प्राप्त करना मैं सर्वर पर गानों की सूची से यादृच्छिक गीत चुनने के लिए एक साधारण पायथन स्क्रिप्ट का उपयोग करके एक आइसकास्ट स्ट्रीम चलाने की कोशिश कर रहा हूं। मैं एक मतदान/अनुरोध इंटरफ़ेस जोड़ना चाहता हूं, और मेरा होस्ट सीजीआई के माध्यम से वेबपृष्ठों की सेवा के लिए अजगर के उपयोग की अनुमति देता है। हालांकि, मैं उपयोगकर्ता द्वारा प्रदान किए गए जीईटी तर्क प्राप्त करने के तरीके पर लटका रहा हूं। मैं sys.argv साथ हमेशा की तरह की कोशिश की है:HTTP प्राप्त करना पाइथन

#!/usr/bin/python 
import sys 
print "Content-type: text/html\n\n" 
print sys.argv 

लेकिन http://example.com/index.py?abc=123&xyz=987 केवल रिटर्न ऊपर मार "[ 'index.py']"। क्या इस उद्देश्य के लिए पाइथन का कोई अन्य कार्य है, या क्या मुझे सीजीआई के साथ बदलने की ज़रूरत है? क्या मैं भी संभव करने की कोशिश कर रहा हूं?

धन्यवाद।

उत्तर

40

cgi.FieldStorage() आपके लिए यह चाल करना चाहिए ... यह फ़ील्ड और मूल्य के रूप में कुंजी के साथ एक शब्दकोश देता है।

import cgi 
import cgitb; cgitb.enable() # Optional; for debugging only 

print "Content-Type: text/html" 
print "" 

arguments = cgi.FieldStorage() 
for i in arguments.keys(): 
print arguments[i].value 
+0

धन्यवाद lalli, बिल्कुल मुझे क्या चाहिए। – James

संबंधित मुद्दे