温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php如何查询老黄历

发布时间:2022-10-24 16:11:18 阅读:143 作者:iii 栏目:编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

今天小编给大家分享一下php如何查询老黄历的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

查询方法:1、开通老黄历接口服务,获取接口的调用凭证请求key;2、调用接口API发出请求,处理数据并返回结果;3、用“$response=juheHttpRequest($apiUrl, $paramsString,1);”获取接口返回内容;4、用“$result=json_decode($response,true);”将返回内容解析成数组;5、打印解析后的内容。

基于PHP的老黄历接口调用示例

前期准备

  • 通过 https://www.juhe.cn/docs/api/id/65?s=cpphpcn  自助申请开通接口

  • 获取接口的调用凭证请求key

  • 你可以在个人中心 ➡️ 数据中心 ➡️ 我的API 模块看到此接口的调用凭证请求key

接口说明

  • 免费使用,根据会员等级不同,每日可调用次数不同,具体登录聚合数据官网查看

  • 提供老黄历查询,黄历每日吉凶宜忌查询

  • 其他更详细的接口使用信息,登录聚合数据官网查看,本文为简单使用示例,仅供参考

1、老黄历—日历接口:

请求参数

名称必填类型说明
keyString在个人中心->我的数据,接口名称上方查看
dateString日期,格式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$paramsString1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行具体的异常处理
}
if (!$response) {
    echo '请求异常' . PHP_EOL;
}
//接收接口返回内容
$result json_decode($responsetrue);//获取接口返回内容(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($httpInfocurl_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、老黄历—时辰接口:

请求参数

名称必填类型说明
keyString在个人中心->我的数据,接口名称上方查看
dateString日期,格式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$paramsString1);
} catch (Exception $e) {
    var_dump($e);
    //此处根据自己的需求进行具体的异常处理
}
if (!$response) {
    echo '请求异常' . PHP_EOL;
}
//接收接口返回内容
$result json_decode($responsetrue);
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($httpInfocurl_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如何查询老黄历”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×