如何在PHP中为http post请求创建有效负载主体

时间:2017-05-06 03:35:56

标签: php arrays http post

我必须发送带有一些自定义参数的HTTP Post Request作为标头和有效负载消息(JSON),但在这个指定的情况下,我不知道如何在PHP中对它进行结构化。

我有这段代码:

$url = 'https://refered.link.com';

$data = array(?????); // WHAT?

$options = array(
    'http' => array(
        'header'  => "Content-Type: application/json\r\n"."Accept: application/json\r\n "."Authorization: token xxxxxxxx\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data)
    )
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
    /* Handle error */ 
}
var_dump($result);

我必须发送这个身体有效负载:

body='{
"request": {
    "branch":"master"
    "message": "Hi there"
}}'

一般情况下,使用$data = array('key1' => 'value1', 'key2' => 'value2');之类的简单payoad就可以执行此操作$data = array('key1' => 'value1', 'key2' => 'value2' );

但现在,是这样的:$data = array('request' => array( "branch" => "master", "message" => "Hi there" ) );

1 个答案:

答案 0 :(得分:0)

我现在正在打电话,但我可能会对您制作的阵列进行json_encode,看看哪一个看起来像你需要发送的json。