web-dev-qa-db-ja.com

Indy 10Httpサーバーのサンプル

Indy 10 Httpサーバーの簡単なコードサンプルが必要ですリクエスト(投稿)に表示されるだけの場合これにはIndy 9サンプルがありますか?ありがとう

14
SridharanS
  1. 新しいVCLフォームプロジェクトを開始します
  2. TidHTTPServerコンポーネントをフォームにドロップします
  3. フォームをダブルクリックしてOnCreate()イベントを作成し、サーバーをアクティブ化します

    IdHTTPServer1.Active:= True;

  4. フォームに戻り、HTTPサーバーコンポーネントを選択して、OnCommandGetイベントを作成します

このOnCommandGetイベント(GET/POSTが発生するたびに子スレッド内で呼び出されます)では、応答を入力して要求を処理します。

AResponseInfo.ContentText := '<html><head><title>My First Response</title></head>' + 
  '<body>Command: ' + ARequestInfo.Command +
  '<br />Host: ' + ARequestInfo.Host +
  '<br />URI: ' + ARequestInfo.URI +
  '<br />UserAgent: ' + ARequestInfo.UserAgent +
  '</body></html>';

Delphiのバージョンによっては、IdContextUsesに追加する必要がある場合もあります。 -)句

デモアプリを実行し、ブラウザを起動して http:// localhost にすると、応答が返されます。 (ポート80で他にリッスンしているものがない限り、その場合、デモアプリは例外を生成します)

19
Darian Miller

Indy 9サンプル はIndyProjectサイトで引き続き利用可能であり、HTTPServerデモプロジェクトが含まれています。 Indy 10 Demo Playground も同様です。

IdHTTPServerでは、GetコマンドとPostコマンドは基本的に同じように扱われ、CommandGetイベントで処理されます。

7
Bruce McGee