1. 程式人生 > >php(curl請求)測試接口案例

php(curl請求)測試接口案例

結果 code api tom obi ech 方法 mobile exe

請求測試接口,如下:

$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請求)測試接口案例