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 请求超时设置可确保网络请求的稳定性和可靠性。通过...
2025-01-31 13:23:44
PHP Curl 发送HT...
PHP Curl是用于发送HTTP请求的强大工具,可灵活配置请求选...
2025-01-31 13:00:54
PHP Curl 错误处理
PHP cURL错误处理:通过开启错误报告、异常处理、参数验证和重...
2025-01-31 12:46:50
PHP Curl 请求头设...
PHP Curl 请求头设置是一种强大的工具,用于发送HTTP请求...
2025-01-31 11:00:52
PHP Curl 基础教程
PHP Curl教程:介绍PHP Curl的基础知识,包括安装配置...
2025-01-31 10:46:49
PHP Curl 异步请求...
PHP Curl库支持异步请求,通过多句柄管理器与curl_mul...
2025-01-31 10:23:51

热门资讯

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