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