zoukankan      html  css  js  c++  java
  • php(curl请求)测试接口案例

    请求测试接口,如下:

    $data = ['mobilephone'=>'123','password'=>'124'];
    $result = curlrequest($apiUrl,$data);
    if($result['statusCode'] == 200){
        echo json_encode($result);
    }else{
        echo json_encode($result);
    }

    curl请求url方法,如下:

    /**
     * @param string $url 请求地址
     * @param string $data 请求数据
     * @param string $method 请求方式
     * @return array 一维数组
    */
    function curlrequest($url,$data = '',$method = 'POST'){
        $ch = curl_init(); //初始化CURL句柄
        curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而s不是直接输出
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); //设置请求方式
    
        curl_setopt($ch,CURLOPT_HTTPHEADER,array("X-HTTP-Method-Override: $method"));//设置HTTP头信息
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串 如果提交的数组为多维数组 需要用http_build_query函数把数组重新生成URL-encode 之后的请求字符串
        $document = curl_exec($ch);//执行预定义的CURL
        $statusCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); //获取HTTP请求状态码~
        curl_close($ch);
    
        $document = json_decode(removeBOM($document),true);
        $document['statusCode'] = $statusCode;
        return $document;
    }

    如果返回的json结果中出现乱码,那么需要去除BOM,如下:

    /**
     * @param string $str 字符串
     * @return string 去除BOM以后的字符串
    */
    function removeBOM($str = '')
    {
        if (substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
            $str = substr($str, 3);
        }
        return $str;
    }

    以上就是这次的全部内容!

  • 相关阅读:
    Android Studio安装与配置
    T-SQL:qualify和window 使用(十七)
    《c#图解教程》
    c# 创建,加载,修改XML文档
    c# 使用迭代器来创建可枚举类型
    C#上手练习3(while、do while语句)(添加机器人聊天)
    C#上手练习2(FOR语句)
    C#上手练习1(if语句、Swich语句)
    解决java导入project出现红叉
    ABAP ALV显示前排序合并及布局显示
  • 原文地址:https://www.cnblogs.com/jingxiaoniu/p/7994198.html
Copyright © 2011-2022 走看看