PHPのcURL関数を使って、HTTPのPOSTをするサンプル

<?php

$url = "http://requestb.in/vpza6qvp";

$postdata = array("field1" => "x", "field2" => "123");

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
curl_close($ch);

echo $result;

XMLでPOSTする例。$postdata にXMLを文字列で与えて、リクエストヘッダを application/xml にする。

$url = "http://requestb.in/vpza6qvp";

$postdata = "<item><key>test01</key></item>";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
curl_close($ch);

echo $result;

cURL | PHP Manual
http://php.net/manual/ja/book.curl.php

上記サンプルで使っている requestb.in というのは、HTTPリクエストの内容を簡単に確認できるサービス。

RequestBin
http://requestb.in/

PHPにかぎらず、HTTPリクエストを実行できるツールが実際にどんなリクエストヘッダ・本体を送信しているかを確認できる。 RequestBinがその場限りで生成するURLにリクエストをかければよい。

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。