* nc リッスンモード [#l896b3a9]

** 目的 [#g128d31f]
リッスンモードで起動し、HTTPリクエストを受け付け、HTTPレスポンスを返す。
** 概要 [#g128d31f]
ncをリッスンモードで起動し、PHPによるHTTPリクエストを受け付け、HTTPレスポンスを返す。

** 手順 [#w3b338fb]

*** サーバ側:ncをリッスンモードで起動する [#qf415eb3]
以下のコマンドを実行し、HTTPリクエストを待つ。
 nc -l localhost 8001

*** クライアント側:PHPでHTTPリクエストを実行する [#o9ab71f0]
以下のPHPプログラムを実行する。

 <?php
 $r = new HttpRequest('http://localhost:8001/', HttpRequest::METH_GET);
 try {
     $r->send();
     if ($r->getResponseCode() == 200) {
         print "DEBUG: \n" . $r->getResponseBody();
     }
 } catch (HttpException $ex) {
     echo $ex;
 }
 
 print "\n---\nDONE.\n";

*** サーバ側:HTTPリクエストを確認し、HTTPレスポンスを返す [#xf6b47db]

以下のようなリクエストが確認できる。
 GET / HTTP/1.1
 User-Agent: PECL::HTTP/1.7.1 (PHP/5.3.8)
 Host: localhost:8001
 Accept: */*

以下のようなレスポンスを(コピーアンドペーストなどで)返す。
 HTTP/1.1 200 OK
 Date: Thu Mar 29 02:12:28 JST 2012
 Content-Type: text/html
 
 <html>
 <body>
 TEST
 </body>
 </html>
 
 CTRC+C

*** クライアント側:レスポンスを確認する [#c4260e85]
*** クライアント側:HTTPレスポンスを確認する [#c4260e85]

 DEBUG:
 <html>
 <body>
 TEST
 </body>
 </html>
 
 ---
 DONE.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS