1. 自定义响应头
1.1发送json的header头;
$headers= array("Content-type: application/json;charset='utf-8'","Accept: application/json","Cache-Control: no-cache","Pragma: no-cache",);
1.2发送xml响应头;$header[] = "Content-type: text/xml";
function post($postdata, $url,$headers=""){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 60); //设置超时
if(0===strpos(strtolower($url),'https')){
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);// 对认证证书来源的检查
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);// 从证书中检查SSL加密算法是否存在
}
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
if(!empty($headers)){
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$response = curl_exec($ch);//CURLOPT_RETURNTRANSFER 不设置 curl_exec返回TRUE 设置 curl_exec返回json(此处) 失败都返回FALSE
curl_close($ch);
return $response;
}
注意:如果以post方式提交json数据, 则必须设置请求头(Content-type:application/Json);因为修改了请求头, 所以后台只能通过$post = file_get_contents("php://input");来获取请求数据。