Heim >Backend-Entwicklung >PHP-Problem >So fragen Sie den alten Almanach in PHP ab
查询方法:1、开通老黄历接口服务,获取接口的调用凭证请求key;2、调用接口API发出请求,处理数据并返回结果;3、用“$response=juheHttpRequest($apiUrl, $paramsString,1);”获取接口返回内容;4、用“$result=json_decode($response,true);”将返回内容解析成数组;5、打印解析后的内容。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
基于PHP的老黄历接口调用示例
前期准备
通过 https://www.juhe.cn/docs/api/id/65?s=cpphpcn
自助申请开通接口
获取接口的调用凭证请求key
你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key
接口说明
免费使用,根据会员等级不同,每日可调用次数不同,具体登录聚合数据官网查看
提供老黄历查询,黄历每日吉凶宜忌查询
其他更详细的接口使用信息,登录聚合数据官网查看,本文为简单使用示例,仅供参考
1、老黄历—日历接口:
请求参数
名称 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | String | 在个人中心->我的数据,接口名称上方查看 |
date | 是 | String | 日期,格式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; }
返回结果示例
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、老黄历—时辰接口:
请求参数
名称 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | String | 在个人中心->我的数据,接口名称上方查看 |
date | 是 | String | 日期,格式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; }
返回结果示例
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) }
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonSo fragen Sie den alten Almanach in PHP ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!