【php】送信したリクエストの内容を見る方法(1)
問題
APIを利用したプログラムを書いているとき、
APIに対してphpが送っているリクエスト内容を確認したいことがあります。
どうやるとよいでしょうか。

答え
サーバー側を自分で用意して、そこに向けてリクエストを送ると、内容ぐらいは確認可能。
送る側 client.php
<?php
$url= 'http://localhost/server.php';
$xml='<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book>
<title>APIの本</title>
<price>1111</price>
</book>
<book>
<title>PHPの本</title>
<price>2222</price>
</book>
</books>
';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
var_dump($result);
受け取る側 server.php
<?php var_dump($_POST, file_get_contents('php://input'));
受け取る側が受け取った内容をレスポンスするので、
送る側は受け取ったレスポンスで、自分が送ったリクエストが確認できる。
$ php client.php
string(229) "array(0) {
}
string(201) "<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book>
<title>APIの本</title>
<price>1111</price>
</book>
<book>
<title>PHPの本</title>
<price>2222</price>
</book>
</books>
"
受け取る側でファイルに書き出すなどするのもよい。