我正在使用fopen('http://server/path')
,我想获取php发送到远程服务器(用于检查和记录)的http请求的正文。
我已经找到并阅读了以下讨论: PHP file_get_contents() and setting request headers
我知道如何设置所需的标题。
我正在寻找一种获取php正在发送或刚刚发送到远程服务器的完整http请求正文的方法。
$url = 'http://server/path'
$content = json_encode(array(
'a' => 1
, 'b' => 2
));
$options = array(
'http' => array(
'header' => array(
'Content-Type: application/json'
, 'Content-Length: ' . strlen($content)
)
, 'method' => 'POST'
, 'content' => $content
)
);
$context = stream_context_create($options);
$f = fopen($url, 'r', false, $context);
// >>> Here I'd like to get full request that php is just sent to remote server <<<
fclose($f);
对于提供的代码,我希望能够得到:
POST /path HTTP/1.0
Host: server
Content-Type: application/json
Content-Length: 13
{"a"=1,"b"=2}
使用fopen
可以做吗?
谢谢。