我发布了一个转换为JSON
字符串的数组,其中cURL
如下所示。
但是在接收端,我得到一个空数组。
function postFunction ($data_h) {
$c = curl_init();
curl_setopt_array($c, array(
CURLOPT_URL => 'https://domain.tld/script.php',
CURLOPT_HTTPHEADER => array('Content-Type:application/json'),
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data_h),
CURLOPT_RETURNTRANSFER => true
)
);
return curl_exec($c);
curl_close($c);
}
$setup = [
'sms' => [
'number' => '+39XXXXXXXX',
'message' => 'Sample msg 123...',
]
];
print_r( postFunction($setup) );
而不是$_POST
我尝试使用var_dump($HTTP_RAW_POST_DATA)
,就像我在Stack上的另一个问题上看到的那样 - 但我得到的只是NULL
。
这是我返回curl_getinfo($c)
时得到的:
它甚至不调整内容类型。
Array
(
[url] => https://domain.tld/script.php
[content_type] => text/html; charset=utf-8
[http_code] => 200
[header_size] => 140
[request_size] => 593
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.127732
[namelookup_time] => 0.013128
[connect_time] => 0.013257
[pretransfer_time] => 0.106738
[size_upload] => 463
[size_download] => 5
[speed_download] => 39
[speed_upload] => 3624
[download_content_length] => -1
[upload_content_length] => 0
[starttransfer_time] => 0.125601
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => xx.xx.xx.xx
[certinfo] => Array
(
)
)
最后,我想将数据转换为json_decode()
的对象,但我首先需要获取数据。
对我在这里做错了什么的想法?