HTTPプロトコル蓄積

1514 ワード

class CouchSimple {
    function CouchSimple($options) {
       foreach($options AS $key => $value) {
          $this->$key = $value;
       }
    } 
   
   function send($method, $url, $post_data = NULL) {
      $s = fsockopen($this->host, $this->port, $errno, $errstr); 
      if(!$s) {
         echo "$errno: $errstr
"; return false; } $request = "$method $url HTTP/1.0\r
Host: $this->host\r
"; if ($this->user) { $request .= "Authorization: Basic ".base64_encode("$this->user:$this->pass")."\r
"; } if($post_data) { $request .= "Content-Length: ".strlen($post_data)."\r
\r
"; $request .= "$post_data\r
"; } else { $request .= "\r
"; } fwrite($s, $request); $response = ""; while(!feof($s)) { $response .= fgets($s); } list($this->headers, $this->body) = explode("\r
\r
", $response); return $this->body; } }

リクエストヘッダ
HTTPリクエストのフォーマットは以下の通りです.
[]
要求方法:
GET
GET/reg.php HTTP/1.0\r
Host:www.baidu.com\r
Authorization: Basic 
POST
PUT
HEADER
DELETE
TRACE
CONNECT
OPTIONS
レスポンスヘッダ