php(curl请求)测试接口案例

Posted 静小妞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);//设置提交的字符串
    $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;
}

 

以上是关于php(curl请求)测试接口案例的主要内容,如果未能解决你的问题,请参考以下文章

怎么判断curl调用接口返回成功:响应码

如何在php中获取curl请求的请求头信息及相应头信息

PHP创蓝253云通信平台国际短信接口调用demo案例

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

Nginx+Php不支持并发,导致curl请求卡死(Window环境)

php原生curl接口的请求