Home  >  Article  >  Backend Development  >  How to call the driver's license question bank in php

How to call the driver's license question bank in php

藏色散人
藏色散人Original
2022-10-21 17:46:191619browse

php method to call the driver's license question bank: 1. Apply for the driver's license question bank API interface; 2. Configure the applied appkey; 3. Analyze the interface data and select the test subject type and driver's license type; 4. Through "function juhecurl($ Just use the "url,$params=false,$ispost=0){...}" method to request the interface to return the content.

How to call the driver's license question bank in php

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.

How to call the driver's license question bank in php?

PHP-based driver’s license question bank interface calling code example

Driver’s license question bank API interface application: https://www.juhe.cn/docs/api/id/183 ?s=cpphpcn

Interface description:

  • Ministry of Public Security driver’s license test question bank;

  • Complete types of test questions, The classification is clear;

  • The test questions can be obtained in two ways: sequential or random.

Return related questions according to the input parameters.

PHP example:

// +----------------------------------------------------------------------
//----------------------------------
// 驾照题库调用示例代码 - 聚合数据
// 在线接口文档:https://www.juhe.cn/docs/api/id/183?s=cpphpcn
//----------------------------------
header('Content-type:text/html;charset=utf-8');
//配置您申请的appkey
$appkey = "*********************";
//************1.题库接口************
$url = "http://api2.juheapi.com/jztk/query";
$params = array(
"key" => $appkey,//您申请的appKey
"subject" => "",//选择考试科目类型,1:科目1;4:科目4
"model" => "",//驾照类型,可选择参数为:c1,c2,a1,a2,b1,b2;当subject=4时可省略
"testType" => "",//测试类型,rand:随机测试(随机100个题目),order:顺序测试(所选科目全部题目)
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
//************2.answer字段对应答案************
$url = "http://api2.juheapi.com/jztk/answers";
$params = array(
"key" => $appkey,//您申请的appk
);
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['error_code']=='0'){
print_r($result);
}else{
echo $result['error_code'].":".$result['reason'];
}
}else{
echo "请求失败";
}
//**************************************************
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
function juhecurl($url,$params=false,$ispost=0){
$httpInfo = array();
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to call the driver's license question bank in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn