PearのHTTP_RequestでPOSTメソッドをリクエストするには、メソッドの指定とPOSTするデータを 指定する必要があります。
メソッドの指定は、setMethod関数で指定します。指定できるメソッドは、次のものがあります。
メソッド | 定数 |
---|---|
GET | HTTP_REQUEST_METHOD_GET |
HEAD | HTTP_REQUEST_METHOD_HEAD |
POST | HTTP_REQUEST_METHOD_POST |
PUT | HTTP_REQUEST_METHOD_PUT |
DELETE | HTTP_REQUEST_METHOD_DELETE |
OPTIONS | HTTP_REQUEST_METHOD_OPTIONS |
TRACE | HTTP_REQUEST_METHOD_TRACE |
POSTデータは、addPostData関数でnameとvalue(値)を指定します。
<?php require_once "HTTP/Request.php"; $objHttp = new HTTP_Request("https://www.bnote.net/"); $objHttp->setMethod(HTTP_REQUEST_METHOD_POST); $objHttp->addPostData("user", "bnote"); if (!PEAR::isError($objHttp->sendRequest())) { $body = $objHttp->getResponseBody(); } ?>
Pearのマニュアルにもありますが、addPostData関数はメンバ変数に連想配列としてPOSTデータを 保存します。続けてリクエストする場合、POSTデータが残っているので注意が必要です。
POSTデータを初期化するには、clearPostData()関数を使用します。
//HTTP_Requestのメンバ関数 function addPostData($name, $value, $preencoded = false) { if ($preencoded) { $this->_postData[$name] = $value; } else { $this->_postData[$name] = $this->_arrayMapRecursive('urlencode', $value); } }
Copyright 1997-2010 BBB All rights reserved.