CGI in Python

2011年11月28日 星期一

CGI in Python


如何在Apache上使用cgi呢? 這次會透過設定httpd.conf,讓Apache可以執行python。

如何設定httpd.conf?

1. vi httpd.conf

AddHandler cgi-script .cgi .py
   
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>


2. 重啟 httpd

/etc/init.d/httpd restart



簡單的python程式,呼叫ifconfig,並且把結果印出來,這邊要先用python模擬html的表頭符合httpd的標準,才可以正常以網頁方式輸出。

#!/usr/bin/env python
#coding:utf-8
import cgi
import os

print "Content-type: text/html\n\n"

print "<html>"
print "<head>"
print "<title>CGI Program</title>"
print "</head>"
print "<body>"
print "CGI Program"

#cgi.os.popen('su')
#output = cgi.os.popen('mkdir 1')
#print output.read()

print(cgi.os.popen("ifconfig").read())


print cgi.print_environ()
print cgi.print_environ_usage()

print "</body>"



在網址列輸入 http://localhost/cgi-bin/xx.py 即可獲得結果!

後記: 透過這個方式可以讓python到server端上執行指令,並取得結果以網頁方式顯示,這樣就可以做出許多應用。

0 意見 :

張貼留言