การรันสคริปต์ CGI ด้วยภาษาไพธอน
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
เขียน 7:00 น. วันที่ 6 พฤศจิกายน 2555
บทนำ
หากท่านมีความต้องการเขียนสคริปต์ CGI ด้วยภาษาไพธอน ท่านสามารถใช้ Python CGIHTTPServer
เพื่อทำงานแทน Web Server อื่น ๆ เช่น Apache, Nginx, ฯลฯ ได้ เป็นโปรแกรมที่มาพร้อมกับระบบปฏิบัติการลินุกซ์เขียนด้วยภาษาไพธอน
ท่านสามารถนำไปประยุกต์ใช้งานได้อย่างกว้างขวาง มีสาระสำคัญดังนี้
วัตถุประสงค์
- เรียกใช้ Python CGIHTTPServer ได้
- เรียกใช้ Python CGIHTTPServer แบบระบุพอร์ตการสื่อสารได้
- เขียนโปรแกรมด้วยสคริปต์ภาษาไพธอนได้
ขั้นตอนการดำเนินงาน
ขั้นที่ 1 การเรียกใช้งานโปรแกรมแม่ข่าย
Python CGIHTTPServer
1.1 ย้ายไปยังไดเร็คทอรี่ ของ WWW ในตัวอย่างนี้ คือ home directory
$ cd ~
1.2 เรียกใช้งานโปรแกรมเว็บเซิร์ฟเวอร์ แบบไม่ระบุพอร์ต จะมีหมายเลขพอร์ตปริยายเป็นหมายเลข
8000
$ sudo python -m CGIHTTPServer
1.3 เรียกใช้งานโปรแกรมเว็บเซิร์ฟเวอร์ แบบระบุพอร์ต ในตัวอย่างนี้ระบุพอร์ท 8080
$ sudo python -m CGIHTTPServer 8080
ปล. เลือกทำระหว่าง 1.2 หรือ 1.3
ขั้นที่ 2 เขียนสคริปต์ภาษาไพธอน
2.1 สร้างไดเร็คทอรี่ cgi-bin ใน WWW directory ในตัวอย่างนี้คือ home directory
$ mkdir ~/cgi-bin
2.2 เขียนสคริปต์ python และบันทึกไว้ที่ ~/cgi-bin/hello โดยมีเนื้อโค๊ดดังนี้
#!/usr/bin/python
print "Content-type: text/html\n\n"
import cgi
import os
print cgi.escape(os.environ['REMOTE_ADDR'])
print "<br>python -m CGIHTTPServer 8080"
print "<br>http://[YOUR-SERVER-IP]/cgi-bin/hello?n=3"
f = cgi.FieldStorage()
n = f.getvalue('n')
for i in range(1,13):
print "<br>%s x %s = %s"%(n,i,int(n)*i)
ขั้นที่ 3 เรียกดูผลลัพธ์ผ่านหน้าเว็บ
ในขั้นตอนนี้ให้ท่านเปิดบราวเซอร์ จากนั้น ระบุ URl ดังนี้ http://[YOUR-SERVER-IP/cgi-bin/hello?n=3
สรุป
สำหรับวันนี้ ท่านได้เรียนรู้การเขียนสคริปต์ไพธอนบนแม่ข่ายลินุกซ์ หวังว่าท่านจะสามารถนำความรู้ไปใช้ให้เกิดประโยชน์สูงสุดได้ดั่งใจปรารถนา..
พบกันใหม่โอกาสต่อไป สำหรับวันนี้ สวัสดีครับ !!