所属分类:php教程
查询方法:1、开通老黄历接口服务,获取接口的调用凭证请求key;2、调用接口API发出请求,处理数据并返回结果;3、用“$response=juheHttpRequest($apiUrl, $paramsString,1);”获取接口返回内容;4、用“$result=json_decode($response,true);”将返回内容解析成数组;5、打印解析后的内容。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境: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视频教程》
以上就是php怎么查询老黄历的详细内容,更多请关注zzsucai.com其它相关文章!