如何获取http标头的内容部分



我正在尝试返回内容头查询字符串。我得到了一个响应,但它不包括我试图传递的查询字符串。我在Apache服务器上运行。

$postdata = http_build_query(
array(
'feed_them_social' => 'yes',
'refresh_token'    => get_option( 'custom_refresh_token' ),
'time'             => esc_html( get_option( 'custom_token_exp_time' ) ),
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);

$command = 'curl --data "' . $context . '" https://my-url.com';
exec($command, $token);
$output    = implode('', $token);
print_r( $output );

我将此添加到服务器上的php文件中,我正试图从中获得响应。我现在只想用我的查询字符串打印出标题内容,但运气不好。

$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />n";
}

stream_context_create不会生成一个字符串,您可以使用.运算符将该字符串连接到命令上。它所做的是建立一个";资源";(一种内存结构,有点像一个所有东西都是私有的对象(,用于选定的PHP函数,如file_get_contents。

如果你想使用curl,可以使用PHP内置的curl函数,或者像Guzzle这样更用户友好的库。

如果出于某种原因,你真的需要构建一组命令行选项,而你必须自己构建(并处理意外运行错误的所有风险(,PHP不知道如何为curl或任何其他命令生成正确的参数。

相关内容

  • 没有找到相关文章

最新更新