汗ing。。。這點點體會是面向新手的,高手可以不看。 我對php的了解還不夠深入,所以有時碰到用php一時沒法解決的問題就求助于順手的開發工具來做cgi了,而且安全性和穩定性也很容易提高,exe的程序也只是幾十kb而已,速度還是可以的,如果做成dll,那么速度也是很快的。
一、根據頁面請求方法的不同,獲取傳入數據有兩種方法: 1、如果是POST方法: 例:提交表單中有一個文本框名叫 tName 那么在C++Builder中就應該如下獲取: AnsiString s = Request->ContentFields->Values[AnsiString("tName")]; Response->Content = s; Response->SendResponse();
2、如果是GET方法: 例:URL請求:http://localhost/cgi-bin/xxx.exe/reg?abc=123 那么在C++Builder中就應該如下獲取: AnsiString s = Request->QueryFields->Values[AnsiString("abc")]; Response->Content = s; Response->SendResponse();
二、由于編譯后是可執行代碼,所以擴展名是什么都無所謂,只要放在可執行的cgi目錄就可以了,例如我有個cgi文件是prj.exe,把cgi目錄設置為只讀、可執行、不能瀏覽等,那么我把prj.exe文件改為prj.html或prj.cgi都能正常應用,安全性無形中提高了一些。
三、用c++builder開發的cgi可以響應多個不同的請求,用路徑標識來區分,這些路徑是虛擬的,實際上不存在的,只在當前可執行文件中存在,例如這樣: http://localhost/cgi-bin/prj.exe/photo?id=1 http://localhost/cgi-bin/prj.exe/document?id=2 ... 可以利用這一特性,把多個處理工作做在一個cgi中,呵呵,一個小小的exe文件就基本把所有工作都做完了。
|