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

热门资讯

object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
tp5 composer we... 问题: 正常使用中的tp5程序需要安装微信支付v3。 tp5使用cmd面板composer requ...
laravel 对接支付宝当面... 第一步 开发中心网页移动应用下支付接入 第二步 创建应用后需添加可支付的方式 第三步 配置公钥与私钥...
tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
layui缩略图 div class=layui-form-item label class=layui-form-l...