cgi開發:cgi處理步驟1、通過internet把使用者的請求送往伺服器;2、伺服器接受請求並交由cgi處理;3、cgi把處理結果送回伺服器;4、伺服器將結構傳回給使用者。
從瀏覽器發給伺服器有兩種方法(method屬性):get和post。get方法是把資料打包放在環境變數query_string中作為url整體的一部分傳遞給伺服器。post做很多態別get的事情,但它分離傳遞資料給指令碼,程式通過標準輸入獲得資料,同樣的資料可以多次提交。當資料量超過1024時只能使用post來傳遞,由於get將資料直接放到url,資料的傳輸就變得不安全了。
下面以簡單的加法為例說明post提交操作
plus.html
plusnum1:
plusnum2:
然後在/var/www/cgi-bin目錄下建立plus.c檔案並編譯成plus.cgi
plus.c
#include#includeint main ()
else if (sscanf(data , 「m=%ld&n=%ld」, &m, &n) != 2)
printf(「error ! invalid data.」);
else
printf(「the product is %ld and %ld is %ld.」, m , n, m+n);
return 0;
}
新建collect.c
#include #include #define maxlen 80
#define extra 5
/* 4 for field name "data", 1 for "=" */
#define maxinput maxlen+extra+2
/* 1 for added line break, 1 for trailing nul */
#define datafile "../data/data.txt"
void unencode(char *src, char *last, char *dest)
else
*dest = *src;
//非特殊字元直接儲存
*dest = '/n';
*++dest = '/0';
//最後加上換行和字串結束符}
int main(void)
return 0;
}
gcc collect.c -o collect.cgi
cp collect.cgi /var/www/cgi-bin/
在瀏覽器中輸入:
192.168.75.1/html/plus.html
嵌入式CGI開發之旅 5
原創 嵌入式cgi開發之旅 5 發表於 2009 9 1 20 11 19 用cgic開發c語言的cgi程式 用cgic 庫來開發cgi 程式 cgic 是專門為 cgi開發的乙個 ansi c 庫,封裝了一些c語言 cgi程式設計常用的操作,以及一些字串和環境變數的處理,伺服器提交以後,cgic ...
嵌入式CGI開發之旅 11
原創 嵌入式cgi開發之旅 11 發表於 2009 9 3 20 18 14 實驗 六 核取方塊組 核取方塊是一種多選框,一次可以選擇多個選項,核取方塊組是多個核取方塊擁有同乙個 name 屬性。1 修改 mycgictest.html 增加一組核取方塊按鈕組,增加到剛才的單選框組下面 核取方塊組 ...
嵌入式CGI開發之旅 9
實驗 四 文字框 文字框允許使用者輸入多行文字,這個通常用來接收較多的使用者輸入,使用者可以使用空格和回車換行等,因為輸入的資料可能超過 1024 位元組,這個表單輸入域的提交一般用 post 方法。1 修改 mycgictest.html 增加乙個文字框,加在使用者輸入名字的下面,如下 所示 yo...