ホームページ >php教程 >php手册 >C++Builder で CGI を開発した経験が少しある

C++Builder で CGI を開発した経験が少しある

WBOY
WBOYオリジナル
2016-06-21 09:12:29964ブラウズ

c++|cgi

発汗。 。 。このちょっとした経験は初心者向けであり、専門家は読む必要はありません。
私はPHPの理解が浅いので、PHPで解決できない問題に遭遇したときは、便利な開発ツールを使ってCGIを作成します。また、セキュリティと安定性を簡単に向上させることができ、exeプログラムは単なるものです。数十kbなのでdllにすると速度もかなり速いです。

1. ページのリクエスト方法に応じて、受信データを取得するには 2 つの方法があります:
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 ディレクトリに配置されている限り、拡張子は関係ありません。たとえば、prj.exe という CGI ファイルがあり、その CGI ディレクトリを読み取り専用、実行可能、閲覧不可に設定します。などの場合は、prj.exe ファイルを prj に変更すると、html または prj.cgi が正常に使用できるようになり、実質的にセキュリティが向上します。

3. C++builder で開発された CGI は、パス識別子によって区別される複数の異なるリクエストに応答できます。これらのパスは、現在の実行可能ファイル内にのみ存在します (例:
http://)。 localhost/cgi-bin/prj.exe/photo?id=1
http://localhost/cgi-bin/prj.exe/document?id=2
...
この機能を利用して、複数のことを行うことができますタスクを 1 つの CGI で処理します (笑)。基本的には小さな exe ファイルですべての作業を完了できます。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。