cgi全稱
common gateway inte***ce
(共同程式設計介面),是一種程式設計介面,不論什麼語言,只要按照該介面的標準編寫出來的程式,即可叫做
cgi程式。
cgi 程式的輸入
/輸出是使用程式語言的標準輸入
/標準輸出
,所以用
c/c++
來寫 cgi
程式就好象寫普通程式一樣。
1)cgi
程式的通訊方式
當有資料從瀏覽器傳到
web
伺服器後,該伺服器會根據傳送的型別(基本有二類:
get/post
),將這些接收到的資料
傳入
query_string
或變數中,
cgi程式可以通過標準輸入,在程式中接收這些資料。當要向瀏覽器傳送資訊時,只要向
web伺服器傳送特定的檔案頭資訊,即可通過標準輸出將資訊發往
web伺服器
,web
伺服器處理完這些由
cgi程式發來的資訊後就會將這些資訊傳送給瀏覽器。這樣就是
cgi程式的通訊方式了。
2)接收資料
用
get方式接收到的資料儲存在
web伺服器的
query_string
變數裡,而通過
post
方式接收到的資料是儲存在這個
web伺服器變數裡。
它們的唯一區別就是:以
get方式接收的資料是有長度限制;而用
post
方式接收的資料是沒有長度限制的。並且,以
get方式傳送資料,可以通過
url的形式來傳送,但
post
方式傳送的資料必須要通過
form
才到傳送。
將程式用
gcc編譯,結果放在放在
/cgi/bin
目錄下,在
brower
中輸入程式示例
則可輸出
hello,world
。see more in 【1】
3、使用cgi處理get和post的資料請求簡單示例
說明:apache+suse10.1
cgi程式
#includehtml程式<
stdio.h
>
#include
<
stdlib.h
>
#define
maxlen 80
intmain(
void
)else
}
if(strcmp(prequestmethod,
"get")
==0)
return
0;
}
【1
】 】 【
2】
用c寫CGI 程式簡要指南
將 轉換成空格符 xx 用其十六進製制ascii碼值表示的特殊字元。根據值xx將其轉換成相應的ascii字元。對form變數名和變數值都要進行這種轉換。下面是乙個對form資料進行分析並將結果回送給web伺服器的cgi程式。include include include int htoi char ...
C語言寫CGI 程式簡要指南
cgi common gateway inte ce 公用閘道器介面 規定了web伺服器呼叫其他可執行程式 cgi程式 的介面協議標準。web伺服器通過呼叫cgi程式實現和web瀏覽器的互動,也就是cgi程式接受web瀏覽器傳送給web伺服器的資訊,進行處理,將響應結果再回送給web伺服器及web瀏...
寫乙個CGI程式並執行
準備linux和apache 我在 var www cgi bin 下建乙個檔案get.c include include int main void 然後編譯 gcc o get.cgi get.c 編譯完後會生成乙個get.cgi檔案 然後我配置apache,我是這麼配置的 我的apache是2...