PHPプロで「cURLを使わずに、PHPでPOSTリクエストを送信する」が紹介されていたので、PEARのHTTP_Requestを使って書いてみた。
こんな感じ?
<?php require_once "HTTP/Request.php"; function do_post_request($url, $data, $optional_headers = null) { $req =& new HTTP_Request($url); $req->setMethod(HTTP_REQUEST_METHOD_POST); if(is_array($data)){ foreach($data as $key => $val){ $req->addPostData($key, $val); } } if($optional_headers !== null){ if(is_array($optional_headers)){ foreach($optional_headers as $name => $value){ $req->addHeader($name, $value); } } } $res = $req->sendRequest(); if(PEAR::isError($res)){ return $res->getMessage(); } return $req->getResponseBody(); } echo do_post_request("http://www.google.co.jp/search", array("q" => "ito.tetsunosuke") ); ?>
あっ!!The server is unable to process your request.とか怒られてる!!(笑)