php利用curl发送 post del put patch 请求
未知
2021-07-11 11:02:43
0

因为需要在php开发中对接其它接口需要用php  curl去对接其它接口  我把他们封装成函数 希望能对大家有所帮助

这里面是封装好的  会自动把data进行转成json格式   同时解码成php数组输出

 
 
 function posturl($url,$data){
         $data  = json_encode($data);    
         $headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
         $curl = curl_init();
         curl_setopt($curl, CURLOPT_URL, $url);
         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
         curl_setopt($curl, CURLOPT_POST, 1);
         curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
         curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
         $output = curl_exec($curl);
          $err = curl_error($curl);
        if ($err) {
        echo "cURL Error #:" . $err;
        } 
         curl_close($curl);
         return json_decode($output,true);
 }
 
 
 function puturl($url,$data){
     $data = json_encode($data);
     $ch = curl_init(); //初始化CURL句柄 
     curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
     curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出 
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT"); //设置请求方式
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串
     $output = curl_exec($ch);
     curl_close($ch);
     return json_decode($output,true);
 }
 
 function delurl($url,$data){
     $data  = json_encode($data);
     $ch = curl_init();
     curl_setopt ($ch,CURLOPT_URL,$put_url);
     curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");   
     curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
     $output = curl_exec($ch);
     curl_close($ch);
     $output = json_decode($output,true);
 }

 
 
 
 
 
 
 
 
 
 
 
 
 
 
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'));
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "PATCH");  
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data);     //20170611修改接口,用/id的方式传递,直接写在url中了
    $output = curl_exec($ch);
    curl_close($ch);
    $output = json_decode($output);
    return $output;
}

 

如果在php中跨域请求,出现404,则是路径不对。header("Access_Control_Allow_Origin:http:*");
 

 

相关内容

php curl获取流式数...
php curl获取流式数据
2024-04-16 13:55:24
curl post请求两种...
问题描述: php文件中,通过curl,header头,body参...
2023-12-07 17:30:42
Array and str...
PHP7.4不再支持使用大括号访问数组以及字符串的偏移_PHP代码...
2023-10-17 10:08:00
Array and str...
问题描述: thinkphp5 出现报错:Array and st...
2023-10-17 10:04:23
Array and str...
php版本太高了,设置7.3以下即可
2023-06-09 16:56:07
curl_setopt_a...
在guzzle(版本6.3)设置了option中 debug为tr...
2023-05-18 16:09:15

热门资讯

tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
layui缩略图 div class=layui-form-item label class=layui-form-l...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
Laravel 引入自定义类库... 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况。!!当然,没有命名空间也可以...
object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php银行开放平台接口:pfx... 问题描述: 对接易通银行,他们的服务开放平台是java开发,而我的是php,现在需要php版本的SD...