每日一言
BERRYAPI 官方文档
获取来自一言、有道或金山词霸的每日一言内容(但是我测试发现只有词霸的是有数据的)
基本说明:
接口地址:https://api.berryapi.net/?service=App.Dairy.Words
返回格式:json
请求方式:post
请求示例:https://api.berryapi.net/?service=App.Dairy.Words
请求参数说明:
名称 类型 必填 说明
AppKey string 必填 到平台注册时生成的密钥
source string 选填 来源范围:yiyan/ciba/youdao
返回参数说明:
名称 类型 说明
content string 内容
content_en string 外语内容
author string 作者
JSON返回示例:
{
	"ret": 200,
	"data": {
		"content": "重要的原则能够也必须是灵活的。",
		"content_en": "Important principles may and must be flexible.",
		"author": "词霸每日一句"
	},
	"msg": ""
}
服务级错误码参照
错误码 说明
- -
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/11/02 21:31
 */
//----------------------------------
// 每日一言 调用类
//----------------------------------
class freeApi{
    private $apiUrl;
    private $appKey;

    public function __construct($appKey){
        $this->appKey = $appKey;
        $this->apiUrl = 'https://api.berryapi.net/?service=App.Dairy.Words';
    }
    /**
     * 获取结果
     * @return array
     */
    public function getResult(){
        $paras = [
          'AppKey' => $this->appKey,
          'source' => 'youdao'
        ];
        return $this->freeApiCurl($this->apiUrl,$paras);
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false){
        $headers = array('Content-Type: application/x-www-form-urlencoded');
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params)); // Post提交的数据包
        curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
        curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        $result = curl_exec($curl); // 执行操作
        if (curl_errno($curl)) {
            echo 'Errno'.curl_error($curl);//捕抓异常
        }
        curl_close($curl); // 关闭CURL会话
        return $result;
    }
}