किसी CGI प्रोग्राम को सूचना भेजने का आम तौर पर अधिक विश्वसनीय तरीका POST विधि है। यह जानकारी को जीईटी विधियों के समान ही पैकेज करता है, लेकिन इसे टेक्स्ट स्ट्रिंग के रूप में भेजने के बजाय? यूआरएल में यह इसे एक अलग संदेश के रूप में भेजता है। यह संदेश मानक इनपुट के रूप में CGI स्क्रिप्ट में आता है।
उदाहरण
नीचे वही hello_get.py स्क्रिप्ट है जो GET के साथ-साथ POST मेथड को भी हैंडल करती है।
#!/usr/bin/python
Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
first_name = form.getvalue('first_name')
last_name = form.getvalue('last_name')
print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello - Second CGI Program</title>"
print "</head>"
print "<body>"
print "<h2>Hello %s %s</h2>" % (first_name, last_name)
print "</body>"
print "</html>" आउटपुट
आइए हम ऊपर के समान उदाहरण लेते हैं जो HTML फॉर्म और सबमिट बटन का उपयोग करके दो मान पास करता है। हम इस इनपुट को संभालने के लिए समान CGI स्क्रिप्ट hello_get.py का उपयोग करते हैं।
<form action = "/cgi-bin/hello_get.py" method = "post"> First Name: <input type = "text" name = "first_name"><br /> Last Name: <input type = "text" name = "last_name" /> <input type = "submit" value = "Submit" /> </form>
यहाँ उपरोक्त फॉर्म का वास्तविक आउटपुट है। आप प्रथम और अंतिम नाम दर्ज करें और फिर परिणाम देखने के लिए सबमिट बटन पर क्लिक करें।
