从php调用API时未传递JSON参数

时间:2018-08-22 07:16:12

标签: php json api post

我正在尝试使用 post 方法从 PHP 进行API调用。其中一个参数需要JSON字符串。我正在尝试使用 json_encode 将数组转换为JSON,但仍未在服务器端接收此参数的内容。下面是我编写的代码。

<!DOCTYPE html>
<html>
<body>

<h1>API testing</h1>

<?php
$myData = array("data1" => "my_data_1",
                "data2" => "my_data_2"
                );
$myData = json_encode($myData);
$data = array (
    'NAME' => 'testPHP',
    'TYPE' => 'xyz',
    'DATA' => $myData
);
$data = http_build_query($data);

$context_options = array (
    'http' => array (
        'method' => 'POST',
        'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
            . "Content-Length: " . strlen($data) . "\r\n",
        'content' => $data
        )
    );
$context = stream_context_create($context_options);
$result = file_get_contents("https://myurl.com", false, $context);
echo $result;
?>

</body>
</html>

我已成功接收所有参数,但仅将参数 DATA 的值发送为******。我试图将标头中的 Content-type 更改为 application / json ,但这使情况变得更糟,因为我没有收到服务器端的任何参数。请帮我。谢谢:)

0 个答案:

没有答案