Heim >php教程 >php手册 >在C++Builder中开发CGI的一点点体会

在C++Builder中开发CGI的一点点体会

WBOY
WBOYOriginal
2016-06-21 09:12:29964Durchsuche

c++|cgi

汗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文件就基本把所有工作都做完了。



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn