问题描述:
    php文件中,通过curl,header头,body参数,验证通过后,接收对方的数据。 传参有两种方式。
解决办法:
1. 传参格式 json
function post_http($array='',$url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //https false可能会带来安全风险,因为它使你的通信容易受到中间人攻击
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);//https
// curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8080');//设置代理服务器
// post数据 是否Post发送
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
$arr = json_encode($array);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);
$header = array('Content-Type: application/json; 
charset=utf-8', 'Accept: application/json','secretKey:xxxxxxxx','signKey:xxxxxxxxxxx12');
//启用时会将头文件的信息作为数据流输出
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$result = curl_exec($ch);
//curl_errno返回最后一次 cURL 操作的错误代码。如果 cURL 操作失败,curl_errno 将返回一个相应的错误代码,否则返回 0
if (curl_errno($ch)) { return curl_error($ch); 
}
curl_close($ch);
//打印获得的数据
return json_decode($result,true); 
}
 2. body体字符串式 表单传参 
function post_http($url){ 
$body = "key=val&key1=val2"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST,true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $body); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
$result = curl_exec($ch); 
if (curl_errno($ch)) { 
   return curl_error($ch); 
} 
//$errorinfo = curl_error($curl); //请求返回错误信息
//$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
//关闭cURL资源,并且释放系统资源
curl_close($ch); 
//打印获得的数据
 return json_decode($result,true); 
}