วิธีที่เชื่อถือได้โดยทั่วไปในการส่งข้อมูลไปยังโปรแกรม CGI คือวิธี POST เป็นแพ็กเกจข้อมูลในลักษณะเดียวกับเมธอด GET แต่แทนที่จะส่งเป็นสตริงข้อความหลัง ? ใน URL จะส่งเป็นข้อความแยกต่างหาก ข้อความนี้มาสู่สคริปต์ 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>
นี่คือผลลัพธ์ที่แท้จริงของแบบฟอร์มข้างต้น คุณป้อนชื่อและนามสกุลแล้วคลิกปุ่มส่งเพื่อดูผลลัพธ์