是否可以获取从fopen发送的http请求的正文?

时间:2019-02-07 01:14:13

标签: php

我正在使用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可以做吗?

谢谢。

0 个答案:

没有答案