用C語言進行CGI程式設計

2021-07-04 19:23:47 字數 1215 閱讀 2382

用c語言進行cgi程式設計 

一、cgi概述  

cgi(公用閘道器介面)規定了web伺服器呼叫其他可執行程式(cgi程 序)的介面協議標準。web伺服器通過呼叫cgi程式實現和web瀏覽器的互動,也就是cgi程式接受web瀏覽器傳送給web伺服器的資訊,進行處理,將響應結果再回送給web伺服器及web瀏覽器。cgi程式一般完成web網頁中表單(form)資料的處理、資料庫查詢和實現與傳統應用系統的整合等工作。cgi程式可以用任何程式語言編寫,如shell指令碼語言、perl、fortran、pascal、c語言等。但是用c語言編寫的cgi程式具有執行速度快、安全性高(因為c語言程式是編譯執行且不可被修改)等特點。  

cgi介面標準包括標準輸入、環境變數、標準輸出三部分。  

1.標準輸入  

cgi程式像其他可執行程式一樣,可通過標準輸入(stdin)從web伺服器得到輸入資訊,如form中的資料,這就是所謂的向cgi程式傳遞資料的post方法。這意味著在作業系統命令列狀態可執行cgi程式,對cgi程式進行除錯。post方法是常用的方法,本文將以此方法為例,分析cgi程式設計的方法、過程和技巧。  

2.環境變數  

作業系統提供了許多環境變數,它們定義了程式的執行環境,應用程式可以訪問它們。web伺服器和cgi介面又另外設定了自己的一些環境變數,用來向cgi程式傳遞一些重要的引數。cgi的get方法還通過 環境變數query-string向cgi程式傳遞form中的資料。  

3.標準輸出  

cgi程式通過標準輸出(stdout)將輸出資訊傳送給web伺服器。傳送給web伺服器的資訊可以用各種格式,通常是以純文字或者html文字的形式,這樣我們就可以在命令列狀態除錯cgi程式,並且得到它們的輸出。  

下面是乙個簡單的cgi程式,它將html中form的資訊直接輸出到we b瀏覽器。

#include ;

#include ;

main()

上面的cgi程式簡單地用printf()函式來產生html源**。請注意在輸出的字串中如果有雙引號,在其前面必須有乙個後斜字元\, 這是因為整個html**串已經在雙引號內,所以html**串中的雙引號符必須用乙個後斜字元\來轉義。 

五、結束語  

本文詳細分析了用c語言進行cgi程式設計的方法、過程和技巧。c語言的cgi程式雖然執行速度快、可靠性高,但是相對於perl語言來說,c語言缺乏強有力的字串處理能力,因此在實際應用中,應根據需 要和個人愛好來選擇合適的cgi程式語言。

用C語言進行CGI程式設計

一 cgi概述 cgi 公用閘道器介面 規定了web伺服器呼叫其他可執行程式 cgi程式 的介面協議標準。web伺服器通過呼叫cgi程式實現和web瀏覽器的互動 也就是cgi程式接受web瀏覽器傳送給web伺服器的資訊,進行處理,將響應結果再回送給web伺服器及web瀏覽器。cgi程式一般完成web...

C語言進行CGI程式設計

一 cgi概述 cgi 公用閘道器介面 規定了web伺服器呼叫其他可執行程式 cgi程式 的介面協議標準。web伺服器通過呼叫cgi程式實現和web瀏覽器的互動,也就是cgi程式接受web瀏覽器傳送給web伺服器的資訊,進行處理,將響應結果再回送給web伺服器及web瀏覽器。cgi程式一般完成web...

C 進行CGI的WEB程式設計

公共閘道器介面 cgi 是一套標準,定義了資訊是如何在 web 伺服器和客戶端指令碼之間進行交換的。cgi 規範目前是由 ncsa 維護的,ncsa 定義 cgi 為 公共閘道器介面 cgi 是一種用於外部閘道器程式與資訊伺服器 如 http 伺服器 對接的介面標準。目前的版本是 cgi 1.1,c...