嵌入式CGI開發之旅 5

2021-05-25 18:17:06 字數 1957 閱讀 5689

【原創】嵌入式cgi開發之旅——5

發表於 2009/9/1 20:11:19

用cgic開發c語言的cgi程式

cgic

庫來開發cgi

程式

cgic

是專門為

cgi開發的乙個

ansi c

庫,封裝了一些c語言

cgi程式設計常用的操作,以及一些字串和環境變數的處理,伺服器提交以後,

cgic

先將環境變數或者是標準輸入中的資料取出進行一定的處理後再交給使用者程式,給c開發

cgiwww.boutell.com

,目前版本號為:

2.05

當然為了熟悉

web程式設計你也可以不使用這個庫,我是無意將重點放在

web程式設計上,所以我用

cgic

,呵呵。

cgi特性:

ü對資料進行語法分析;

ü接收以get

和post

方式傳送的資料;

ü接收上傳檔案以及常規的表單檔案;

ü提供設定和取得

cookies

的函式;

ü用統一的方式處理表單域中的換行;

ü為提取表單資料提供字串、整型、浮點及單選和多選函式;

ü為數字域提供邊界檢查;

ü把cgi

環境變數處理為非空字串載入到

c字串中;

ü提供捕獲

cgi狀態進行除錯的方法

用cgic進行c

語言的cgi

程式開發時,使用者程式必須鏈結到

cgic.c

模組上,我們也可以不把

cgic

編譯為模組,這樣只要將自己編寫的

cgi程式和

cgic.c

和gic.h

一起編譯就可以了。因為所有的

cgi程式都必須進行一些初始化操作,比如分析資料和檢查環境變數等,

cgic

庫提供了自己的

mian()

函式,所以當我們用

cgic

來開發自己的

cgi程式時就不能在使用

main()

函式,而只能使用

cgic

提供的cgimain()

函式來開始自己的程式。

cgic

的安裝很容易:

12.05版本

2、解壓,可以看到整個庫包含的檔案很少,主要的幾個是:

cgic.hcgic

庫標頭檔案;

cgic.ccgic

庫的主要原始碼;

cgictest.ccgic

庫測試檔案;

capture.ccapture

工具,這是用來除錯

cgi程式的工具

3、make cgictest

就可以得到

cgictest.cgi

這個測試檔案,我們將這個檔案拷貝到自己伺服器的

cgi-bin

目錄下,然後在瀏覽器裡訪問這個檔案,如果一切正常的話那麼恭喜你可以正常使用

cgic

庫里。

4、make capture

生成除錯程式,

cgi的除錯是很麻煩的,因為程式執行在伺服器端不能通過偵錯程式來除錯,所以

cgic

庫提供了乙個

capture

程式,用來記錄所有的環境變數的變化,只要更改

capture.c

中cgimain()

中第一行中指定的

cgi環境變數儲存檔案。然後把生成的

capture

放到自己的

cgi目錄下,設定表單的

action

屬性指向

capture

就可以了。當表單提交的時候就會記錄下所有的環境變數的變化並存到檔案中。

嵌入式CGI開發之旅 11

原創 嵌入式cgi開發之旅 11 發表於 2009 9 3 20 18 14 實驗 六 核取方塊組 核取方塊是一種多選框,一次可以選擇多個選項,核取方塊組是多個核取方塊擁有同乙個 name 屬性。1 修改 mycgictest.html 增加一組核取方塊按鈕組,增加到剛才的單選框組下面 核取方塊組 ...

嵌入式CGI開發之旅 9

實驗 四 文字框 文字框允許使用者輸入多行文字,這個通常用來接收較多的使用者輸入,使用者可以使用空格和回車換行等,因為輸入的資料可能超過 1024 位元組,這個表單輸入域的提交一般用 post 方法。1 修改 mycgictest.html 增加乙個文字框,加在使用者輸入名字的下面,如下 所示 yo...

嵌入式CGI開發之旅 CGI環境變數

嵌入式cgi開發之旅 cgi環境變數 web伺服器和cgi fastcgi程式之間交流資訊的主要途徑是環境變數 以及標準輸入輸出流 這裡說的環境變數是指作業系統中的環境變數。windows系統下,path是很常見的乙個環境變數 cgi規範對cgi程式中使用的環境變數名稱及其含義做了具體而明確的規定,...