C語言進行網站開發之cgi,網站開發cgi
安裝Apach
配置ApacheRuntime
下面的過程中一直點擊next
配置CGI,放開配置:AddHandler cgi-script .cgi
2.添加Option,
3.編寫CGI代碼如下:
#define_CRT_SECURE_NO_WARNINGS //取消安全檢查
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
voidmain()
{
//如果想實現在html中也顯示,需要加上下面兩句
printf("Content-type:text/html\n\n");
//通過下面的方式實現查詢環境變數的字串
printf("%s<br/><br/>",getenv("QUERY_STRING"));
charszPost[256] = { 0 };
//擷取輸入
gets(szPost);
//擷取輸入
printf("%s<br/><br/>",szPost);
//這一句是將指標移動到等號位置
char *p = szPost + 8;
char *p1 = strchr(szPost,"&");
*p1 ='\0';
charcmd[256] = { 0 };
//字串映射
sprintf(cmd,"%s>1.txt",p);
system(cmd);
FILE *pf = fopen("1.txt","r");
//如果沒有到檔案末尾就繼續
while (!feof(pf))
{
charch =fgetc(pf);
if (ch == '\n')
{
//換行
printf("<br/><br/>");
}
else
{
//列印字元
putchar(ch);
}
}
}
4.點擊:本地Windows調試器
在檔案總管中開啟檔案,如下:
Debug目錄如下:
5.將system.exe拷貝到Apach中的cgi-bin,將system.exe修改成system.cgi
6.重啟Apache伺服器,右擊ApachàOpen Apache Monitor.彈出如下介面:
7.編寫以下html
<html>
<form method="post"action="http://localhost/cgi-bin/system.cgi">
<p>
<input type="text"id="command" name="command"
value="tasklist"action=""/>
</p>
<p>
<input type="submit"name="submit" id="submit" value="提交"/>
</p>
</form>
</html>
要注意的是如果:發現網頁中仍然輸出有錯誤,這時候可能不是程式的問題,而是緩衝的問題,這時候應該關閉網頁,讓後重新開啟,這時候就可以了。
本人想用c語言進行網站開發,聽說cgi可以,但本人對cgi沒有任何瞭解,所以介紹幾本小白級的cgi書籍
perl,shell,php都很容易做cgi,用c太少見了,你要瞭解html,比如,你要輸出一個空格,就得向.html檔案列印"<br>"這個字串,很麻煩
用C語言編輯CGI程式是什?
用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程式,並且得到它們的輸出。