關於利用C語言撰寫CGI程式的部分,這也是之前人家面試的時候,所詢問我的另外一個問題,經過這幾天上網找資料,並且撰寫之後,將一些心得整理出來,希望能幫助到有一些疑問的人。其實利用關鍵字『C語言、CGI、GET、POST』還是可以找到蠻多相關的網頁,大部分的資料都嫌老舊,並且都是由同一個作者撰寫而出(不過倒是有蠻多人複製在自己的網站上面–_____–”“),所以在此為各位整理一些概念,而繁瑣的程式碼(關於將STRING去spilit並且找出變數對應值)就不再詳述,可參考以下這個網址,在這裡只專注於觀念上的敘述,希望帶給大家一些基本的概念。
利用C語言撰寫CGI程式
CGI( Common Gateway Interface)
**1.放在可以執行的地方
**不論哪種網頁伺服器的主機(IIS、Apache),對於檔案可否執行(execute)的權限管理相當嚴格,尤其是Apache,要由網路上執行某些檔案(通常是CGI),都必須透過,httpd.conf 這個檔案裡面的設定才行(通常預設是 cgi-bin/ ) 。另一方面,對於IIS的設定就方便多了,只要啟動IIS Service將該目錄可執行的權限打開,就可以執行CGI程式。
P.S. 算是FAQ的問題,請注意即便可以執行 C語言的請編譯好用修改權限為可以執行的檔案。
**2.C語言中CGI裡面的Hello World!!
**在這裡要跟大家講解對於網頁而言,其實與一般的C語言程式沒有兩樣,重點在於輸出與輸入的介面(UI)。相較於一般的C語言程式,利用C來撰寫的CGI其輸入與輸出都不一樣,首先在輸出方面,最不一樣的就是CGI有以下的輸出
printf (“Content-type: text/htmlnn”);
這個就是代表這是一個網頁的程式,記住”Content-type: text/htmlnn”這段文字儘量不要修改,並且連空白都要注意好(沒有注意好,網頁伺服器會誤認為其他可執行檔案而變成可以下載,而非當成CGI程式),所以根據這個,以下為一個基本的CGI程式
//
// File Name test1.cpp
//
#include |