PHP通过http post发送json数据

方式一

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值