# 请求地址
`https://www.lkdzs.cn/api/cet/query`
# 请求方式
`get / post`
# 请求参数
|参数|必填|说明|
|-|-|-|
|id|是|准考证号|
|name|是|姓名|
# 在线调试
~~~[api]
get:/api/cet/query
*string:id=准考证号#必填
*string:name=姓名#必填
<<<
success
{
"code": 100,
"msg": "success",
"date": {}
}
<<<
error
{
"code": 105,
"msg": "error"
}
~~~
# 状态码
|代码|消息|备注
|-|-|-
|100|success|查询成功
|101|missing id|缺少id
|102|missing name|缺少name
|103|timeout|连接超时
|104|fail|查询失败
|105|error|错误
# 源代码
~~~
public function query()
{
// 接收数据
$id = input('id');
$name = urlencode(input('name'));
if (empty($id)) {
return json([
'code' => 101,
'msg' => 'missing id',
]);
}
if (empty($name)) {
return json([
'code' => 102,
'msg' => 'missing name',
]);
}
// 请求地址
$url = "http://cache.neea.edu.cn/cet/query?data=CET4_203_DANGCI,{$id},{$name}";
// 初始化CURL
$ch = curl_init($url);
// 设置返回转移,存储返回结果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 必选,设置来源,否则请求失败
curl_setopt($ch, CURLOPT_REFERER, 'ttp://cet.neea.edu.cn/');
// 执行抓取操作
$data = curl_exec($ch);
// 判断是否连接超时
if ($data === false) {
return json([
'code' => '103',
'msg' => 'timeout',
]);
}
// 替换字符串
$replaceStr = [
"result.callback({",
"});",
"'",
];
$data = str_replace($replaceStr, "", $data);
// 分割字符串
$data = explode(',', $data);
// 保存数据
$map = array();
if (count($data) > 0) {
foreach ($data as $item) {
// 拆分键值对
$temp = explode(':', $item);
$map[$temp[0]] = $temp[1];
}
if (empty($map['error'])) {
return json([
'code' => 100,
'msg' => 'success',
'data' => $map,
]);
}
return json([
'code' => 104,
'msg' => 'error',
'data' => $map,
]);
}
return json([
'code' => 105,
'msg' => 'fail',
]);
}
~~~