我正在尝试使用 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 ,但这使情况变得更糟,因为我没有收到服务器端的任何参数。请帮我。谢谢:)