Home > Article > Backend Development > How to query the old almanac in php
Query method: 1. Open the old almanac interface service and obtain the calling voucher request key of the interface; 2. Call the interface API to make a request, process the data and return the result; 3. Use "$response=juheHttpRequest($apiUrl , $paramsString,1);" Get the content returned by the interface; 4. Use "$result=json_decode($response,true);" to parse the returned content into an array; 5. Print the parsed content.
The operating environment of this tutorial: windows7 system, PHP8.1 version, DELL G3 computer
old PHP-based Almanac interface call example
Preliminary preparation
https://www.juhe.cn/ docs/api/id/65?s=cpphpcn Self-service application for opening the interface
Interface Description
1. Old Almanac - Calendar interface:
Request parametersRequired | Type | Description | |
---|---|---|---|
is | String | in the personal center-> My data, view | |
above the interface name is | String | date, format 2020-11-20 |
<?php //请求的接口URL $apiUrl = 'http://v.juhe.cn/laohuangli/d'; //请求参数 $params = [ //聚合数据上申请的接口调用key 'key' => '聚合数据上申请的接口调用key', //要查询的日期 'date' => '要查询的日期' ]; //参数数组转换成字符串 $paramsString = http_build_query($params); //发起接口网络请求 $response = null; try { $response = juheHttpRequest($apiUrl, $paramsString, 1); } catch (Exception $e) { var_dump($e); //此处根据自己的需求进行具体的异常处理 } if (!$response) { echo '请求异常' . PHP_EOL; } //接收接口返回内容 $result = json_decode($response, true);//获取接口返回内容(json字符串),并解析成数组 if (!$result) { echo '请求异常' . PHP_EOL; } $errorCode = $result['error_code']; if ($errorCode == 0) { $data = $result['result']; } else { echo "请求异常:{$errorCode}_{$result['reason']}" . PHP_EOL; } //打印接口返回结果 var_dump($result); /** * 发起网络请求函数 * @param String $url 请求的URL * @param bool $params 请求的参数内容 * @param int $isPost 是否POST请求 * @return bool|string 返回内容 */ function juheHttpRequest($url, $params = false, $isPost = 0) { $httpInfo = []; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 12); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 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); } } $reponse = curl_exec($ch); if ($reponse === 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 $reponse; }Return result example
array(3) { ["reason"]=> string(9) "successed" ["result"]=> array(10) { ["id"]=> string(4) "3850" ["yangli"]=> string(10) "2020-11-20" ["yinli"]=> string(26) "庚子(鼠)年十月初六" ["wuxing"]=> string(19) "炉中火 定执位" ["chongsha"]=> string(20) "冲鸡(辛酉)煞西" ["baiji"]=> string(49) "丁不剃头头必生疮 卯不穿井水泉不香" ["jishen"]=> string(44) "阴德 民日 三合 时阴 五合 鸣犬对" ["yi"]=> string(145) "祭祀 祈福 订盟 纳采 裁衣 拆卸 修造 动土 起基 安床 移徙 入宅 安香 入殓 移柩 安葬 谢土 赴任 进人口 会亲友" ["xiongshen"]=> string(6) "元武" ["ji"]=> string(13) "作灶 治病" } ["error_code"]=> int(0) }
2. Old almanac - time interface:
Request parametersRequired | Type | Description | |
---|---|---|---|
is | String | View in Personal Center->My Data, above the interface name | |
is the | String | date, format 2020-11-20 |
<?php //请求的接口URL $apiUrl = 'http://v.juhe.cn/laohuangli/h'; //请求参数 $params = [ //聚合数据上申请的接口调用key 'key' => '聚合数据上申请的接口调用key', //要查询的日期 'date' => '要查询的日期' ]; //参数数组转换成字符串 $paramsString = http_build_query($params); //发起接口网络请求 $response = null; try { $response = juheHttpRequest($apiUrl, $paramsString, 1); } catch (Exception $e) { var_dump($e); //此处根据自己的需求进行具体的异常处理 } if (!$response) { echo '请求异常' . PHP_EOL; } //接收接口返回内容 $result = json_decode($response, true); if (!$result) { echo '请求异常' . PHP_EOL; } $errorCode = $result['error_code']; if ($errorCode == 0) { $data = $result['result']; } else { echo "请求异常:{$errorCode}_{$result['reason']}" . PHP_EOL; } //打印接口返回结果 var_dump($result); /** * 发起网络请求函数 * @param String $url 请求的URL * @param bool $params 请求的参数内容 * @param int $isPost 是否POST请求 * @return bool|string 返回内容 */ function juheHttpRequest($url, $params = false, $isPost = 0) { $httpInfo = []; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 12); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 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); } } $reponse = curl_exec($ch); if ($reponse === 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 $reponse; }Return result example
array(3) { ["reason"]=> string(9) "successed" ["result"]=> array(12) { [0]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(3) "1-3" ["des"]=> string(54) "冲猴 煞北 时冲丙申 路空 大退 青龙 国印" ["yi"]=> string(20) "赴任 出行 修造" ["ji"]=> string(80) " 见贵 求财 嫁娶 进人口 移徙 安葬 祭祀 祈福 求嗣 斋醮 订婚" } [1]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(3) "3-5" ["des"]=> string(54) "冲猪 煞东 时冲己亥 朱雀 帝旺 进禄 驿马" ["yi"]=> string(41) "祭祀 祈福 斋醮 开光 赴任 出行" ["ji"]=> string(63) " 订婚 嫁娶 安床 移徙 入宅 修造 安葬 求财 见贵" } [2]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(3) "5-7" ["des"]=> string(54) "冲狗 煞南 时冲戊戍 不遇 天刑 日害 武曲" ["yi"]=> string(34) "作灶 祭祀 祈福 斋醮 酬神" ["ji"]=> string(28) " 赴任 出行 修造 动土" } [3]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(3) "7-9" ["des"]=> string(47) "冲马 煞南 时冲甲午 日刑 地兵 司命" ["yi"]=> string(0) "" ["ji"]=> string(34) "作灶 祭祀 祈福 斋醮 酬神" } [4]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(4) "9-11" ["des"]=> string(54) "冲羊 煞东 时冲乙未 勾陈 唐符 武曲 水星" ["yi"]=> string(0) "" ["ji"]=> string(69) "修造 盖屋 移徙 作灶 安床 入宅 开市 求嗣 订婚 嫁娶" } [5]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(5) "11-13" ["des"]=> string(55) " 冲鼠 煞北 时冲庚子 地兵 喜神 日禄 金匮" ["yi"]=> string(69) "祈福 求嗣 订婚 嫁娶 出行 求财 开市 交易 安床 赴任" ["ji"]=> string(13) "修造 动土" } [6]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(5) "13-15" ["des"]=> string(55) " 冲牛 煞西 时冲辛丑 三合 天赦 天德 宝光" ["yi"]=> string(90) "祈福 求嗣 订婚 嫁娶 出行 求财 开市 交易 安床 修造 入宅 安葬 祭祀" ["ji"]=> string(1) "-" } [7]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(5) "15-17" ["des"]=> string(55) " 冲虎 煞南 时冲壬寅 六戊 白虎 太阳 功曹" ["yi"]=> string(41) "入宅 修造 安葬 祭祀 斋醮 酬神" ["ji"]=> string(59) "祈福 求嗣 白虎须用 麒麟符制 否则 诸事不宜" } [8]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(5) "17-19" ["des"]=> string(34) " 冲兔 煞东 时冲癸卯 日破" ["yi"]=> string(1) "-" ["ji"]=> string(25) "日时相冲 诸事不宜" } [9]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(5) "19-21" ["des"]=> string(55) " 冲龙 煞北 时冲甲辰 天牢 地兵 六合 右弼" ["yi"]=> string(62) "祈福 求嗣 订婚 嫁娶 求财 开市 交易 安床 见贵" ["ji"]=> string(34) "赴任 修造 移徙 出行 词讼" } [10]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(5) "21-23" ["des"]=> string(55) " 冲蛇 煞西 时冲乙已 元武 三合 贵人 左辅" ["yi"]=> string(69) "祈福 求嗣 订婚 嫁娶 求财 开市 交易 安床 祭祀 见贵" ["ji"]=> string(27) "赴任 出行 修造 动土" } [11]=> array(5) { ["yangli"]=> string(10) "2020-11-20" ["hours"]=> string(4) "23-1" ["des"]=> string(54) "冲鸡 煞西 时冲丁酉 路空 明堂 进贵 木星" ["yi"]=> string(97) "求嗣 嫁娶 移徙 入宅 开市 交易 修造 安葬 祈福 订婚 赴任 出行 见贵 求财" ["ji"]=> string(46) " 朱雀须用 凤凰符制 否则 诸事不宜" } } ["error_code"]=> int(0) }Recommended learning: "
PHP Video Tutorial"
The above is the detailed content of How to query the old almanac in php. For more information, please follow other related articles on the PHP Chinese website!