方式一
function http_post_data($url, $data_string) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($data_string))
);
ob_start();
curl_exec($ch);
$return_content = ob_get_contents();
ob_end_clean();
$return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
return array($return_code, $return_content);
}
$url = "http://xx.xx.cn";
$data = json_encode(array('a'=>1, 'b'=>2));
list($return_code, $return_content) = http_post_data($url, $data);
方式二
// 要发送的数据数组
$data = array(
'key1' => 'value1',
'key2' => 'value2'
);
// 将数组转换为JSON格式的字符串
$jsonData = json_encode($data);
http_post_json($url,$jsonData);
function http_post_json($url,$jsonData){
// 初始化cURL会话
$ch = curl_init($url);
// 设置cURL选项
curl_setopt($ch, CURLOPT_POST, true); // 设置为POST方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData); // 设置POST数据
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($jsonData))
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取的信息以字符串返回,而不是直接输出
// 执行cURL会话
$response = curl_exec($ch);
// 关闭cURL会话
curl_close($ch);
// 打印响应内容
return $response;
}