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
レスポンスヘッダ