Welcome

首页 / 网页编程 / PHP / php利用curl发送 post get del put patch 请求

因为需要在php开发中对接其它接口需要用php  curl去对接其它接口  我把他们封装成函数 希望能对大家有所帮助
这里面是封装好的  会自动把data进行转成json格式   同时解码成php数组输出


function patchurl($url,$data)
{
$data  = json_encode($data);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json',$this->token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");  
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
function geturl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json',$this->token));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}


function posturl($url,$data)
{
$data  = json_encode($data);    
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json',$this->token));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}


function puturl($url,$data)
{
$data = json_encode($data);
$ch = curl_init(); //初始化CURL句柄 
curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT"); //设置请求方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json',$this->token));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}

function delurl($url,$data){
$data  = json_encode($data);
$ch = curl_init();
curl_setopt ($ch,CURLOPT_URL,$put_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");   
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json',$this->token));
$output = curl_exec($ch);
curl_close($ch);
return $output;
}