zoukankan      html  css  js  c++  java
  • php curl请求接口并获取数据

    当我们在做php开发的时候,很多时候需要对接口进行测试,或者更方便的调用一些已有模块的接口,取到结果并进行后续操作,我们可以通过curl进行模拟提交post和get请求,来去实现这些功能。

    下面是对curl的post和get的封装

    1. <?php  
    2.   
    3. /**  
    4.  * Created by PhpStorm.  
    5.  * User: thinkpad  
    6.  * Date: 2015/7/17 0017  
    7.  * Time: 13:24  
    8.  */  
    9. class Action  
    10. {  
    11.     public static function curl_get($url){  
    12.   
    13.            $testurl = $url;  
    14.            $ch = curl_init();    
    15.            curl_setopt($ch, CURLOPT_URL, $testurl);    
    16.             //参数为1表示传输数据,为0表示直接输出显示。  
    17.            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    18.             //参数为0表示不带头文件,为1表示带头文件  
    19.            curl_setopt($ch, CURLOPT_HEADER,0);  
    20.            $output = curl_exec($ch);   
    21.            curl_close($ch);   
    22.            return $output;  
    23.      }  
    24.     /*  
    25.      * url:访问路径  
    26.      * array:要传递的数组  
    27.      * */  
    28.     public static function curl_post($url,$array){  
    29.   
    30.         $curl = curl_init();  
    31.         //设置提交的url  
    32.         curl_setopt($curl, CURLOPT_URL, $url);  
    33.         //设置头文件的信息作为数据流输出  
    34.         curl_setopt($curl, CURLOPT_HEADER, 0);  
    35.         //设置获取的信息以文件流的形式返回,而不是直接输出。  
    36.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
    37.         //设置post方式提交  
    38.         curl_setopt($curl, CURLOPT_POST, 1);  
    39.         //设置post数据  
    40.         $post_data = $array;  
    41.         curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);  
    42.         //执行命令  
    43.         $data = curl_exec($curl);  
    44.         //关闭URL请求  
    45.         curl_close($curl);  
    46.       //获得数据并返回  
    47.         return $data;  
    48.     }  
    49. }  


    之后就可以通过CURL::curl_post($url,$array)或者CURL::curl_get($url);的方式调用接口并得到数据了。

  • 相关阅读:
    spring boot 2 统一异常处理
    spring boot 2.0.4 Redis缓存配置
    windows下consul利用json文件注册服务
    docker安装portainer
    Docker 清理命令
    git command line 提交代码
    java应用健康检查
    springboot @Value获取值为空,解决办法
    解决You have new mail in /var/spool/mail/root提示
    kafka之kafka的伪分布式安装
  • 原文地址:https://www.cnblogs.com/yixiao21/p/8507473.html
Copyright © 2011-2022 走看看