SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【php】送信したリクエストの内容を見る方法(1)

問題

APIを利用したプログラムを書いているとき、
APIに対してphpが送っているリクエスト内容を確認したいことがあります。

どうやるとよいでしょうか。

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>
"

受け取る側でファイルに書き出すなどするのもよい。

関連するメモ

コメント