CGI例項 表單GET與POST示例

2021-07-27 16:55:22 字數 1388 閱讀 1763

cgi例項--表單get與post示例

get方法:做乙個加法運算,需要接收兩個引數

檔案get.c如下:

#include #include int main(void)

else

printf("");

printf("");

printf("

\n");

printf("\n");

printf("\n");

return 0;

}

post方法:做乙個乘法運算,需要接收兩個引數

檔案post.c如下:

#include #include int main(void)

else

}printf("");

printf("");

printf("

\n");

printf("\n");

printf("\n");

fflush(stdout);

return 0;

}

再附上html測試檔案cgi.html:

method: get

please input two number:

method: post

please input two number:

幾點簡要說明:

(1) printf("content-type:text/html\n\n");

此行通過標準輸出將字串″contenttype:text/plain\n\n″傳送給web伺服器。它是乙個mime頭資訊,它告訴web伺服器隨後的輸出是以純ascii文字的形式。請注意在這個頭資訊中有兩個換行符,這是因為web伺服器需要在實際的文字資訊開始之前先看見乙個空行。

(2) data = getenv("query_string");

(3) sscanf(data,"a=%[^&]&b=%s",a,b)!=2

這個是關於sscanf函式的使用問題,自己可以上網搜尋一下,這裡不再詳述!

(4)atoi(a)+atoi(b)

atoi函式的功能是將字元型成整型,只有轉換之後才可以進行加法運算!

(5) lenstr=getenv("content_length");

web伺服器在呼叫使用post方法的cgi程式時設定此環境變數,它的文字值表示web伺服器傳送給cgi程式的輸入中的字元數目,因此需要使用函式atoi() 將此環境變數的值轉換成整數,並賦給變數len(下面有定義)。

(6) fgets(poststr,len+1,stdin);

這個是關於fgets函式的使用問題,自己可以上網搜尋一下,這裡不再詳述!

CGI程式設計入門 GET與POST示例

關於cgi的程式設計,我也還是新手!但只要懂c,則基於c的cgi程式設計就不會很難!下面就get和post方法的應用,做乙個小小的demo,給剛學習cgi程式設計的新手提供一點感性認識!get方法 做乙個加法運算,需要接收兩個引數 檔案get.c如下 include include int main...

POST與GET提交表單的區別

1 get 是用來從伺服器上獲得資料,而post 是用來向伺服器上傳遞資料。2 get 將表單中資料的按照variable value 的形式,新增到action 所指向的url 後面,並且兩者使用 連線,而各個變數之間使用 連線 post 是將表單中的資料放在form 的資料體中,按照變數和值相對...

表單提交 get 與post的區別

原理介紹 理論上說,get是從伺服器上請求資料,post是傳送資料到伺服器。事實上,get方法是把資料引數佇列 query string 加到乙個url上,值和表單是一一對應的。比如說,name john。在佇列裡,值和表單用乙個 符號分開,空格用 號替換,特 殊的符號轉換成十六進製制的 因為這一佇...