Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

First CGI Program ใน Python - โปรแกรม CGI แรก

นี่คือลิงก์ง่ายๆ ที่เชื่อมโยงไปยัง CGI script ชื่อ hello.py ไฟล์นี้เก็บไว้ใน /var/www/cgi-bin directory และมีเนื้อหาดังนี้ ก่อนรัน CGI program ตรวจสอบให้แน่ใจว่าคุณเปลี่ยนโหมดไฟล์ด้วยคำสั่ง UNIX chmod 755 hello.py เพื่อให้ไฟล์ executable

ตัวอย่างโค้ด

#!/usr/bin/python
print "Content-type:text/html\r\n\r\n"
print ''
print ''
print 'Hello Word - First CGI Program//title>'
print '//head>'
print ''
print 'Hello Word! This is my first CGI program//h2>'
print '//body>'
print '//html>'

ผลลัพธ์

ถ้าคุณคลิก hello.py จะได้ผลลัพธ์ดังนี้:

Hello Word! This is my first CGI program

สคริปต์ hello.py นี้เป็นสคริปต์ Python 単純 ที่เขียนเอาต์พุทไปที่ STDOUT file คือหน้าจอ มีฟีเจอร์สำคัญและเพิ่มเติมหนึ่งอย่างคือบรรทัดแรกที่ต้องพิมพ์ Content-type:text/html\r\n\r\n บรรทัดนี้ส่งกลับไปยังเบราว์เซอร์และระบุ content type ที่จะแสดงบนหน้าจอเบราว์เซอร์

ตอนนี้คุณควรเข้าใจ concept พื้นฐานของ CGI แล้ว และสามารถเขียน CGI programs ที่ซับซ้อนมากขึ้นด้วย Python สคริปต์นี้สามารถโต้ตอบกับระบบภายนอกอื่นๆ ได้เพื่อแลกเปลี่ยนข้อมูล เช่น RDBMS

HTTP Header

บรรทัด Content-type:text/html\r\n\r\n เป็นส่วนของ HTTP header ที่ส่งไปยังเบราว์เซอร์เพื่อให้เข้าใจเนื้อหา HTTP header ทั้งหมดจะอยู่ในรูปแบบ:

HTTP Field Name: Field Content

ตัวอย่าง

Content-type: text/html\r\n\r\n

มี HTTP headers สำคัญอื่นๆ อีกน้อยที่คุณจะใช้บ่อยใน CGI Programming:

ลำดับHeader & Description
1Content-type:
MIME string กำหนดรูปแบบไฟล์ที่คืนค่า ตัวอย่าง Content-type:text/html
2Expires: Date
วันที่ข้อมูลหมดอายุ ใช้โดยเบราว์เซอร์ตัดสินใจว่าหน้าเว็บต้อง refresh เมื่อไหร่ รูปแบบวันที่ถูกต้อง 01 Jan 1998 12:00:00 GMT
3Location: URL
URL ที่คืนค่าแทน URL ที่ขอ ใช้ฟิลด์นี้ redirect request ไปยังไฟล์ใดก็ได้
4Last-modified: Date
วันที่แก้ไขล่าสุดของทรัพยากร
5Content-length: N
ความยาวในหน่วยไบต์ของข้อมูลที่คืนค่า เบราว์เซอร์ใช้ค่านี้รายงานเวลาดาวน์โหลดประมาณการ
6Set-Cookie: String
ตั้งคุกกี้ที่ส่งผ่าน string