PHP连接百度文心一言API获取随机语句的方法

1. 前言

在开发中,我们时常需要使用一些公共API,比如获取天气、获取快递信息等等。而使用API不仅可以减轻我们的工作量,还可以节省我们的时间成本。今天,我将介绍一种使用PHP连接百度文心一言API获取随机语句的方法。

2. 百度文心一言API介绍

2.1 API说明

文心一言(Hitokoto)是一个开源的应用程序接口(API),可以让开发者在自己的应用程序中获取一个句子或者一段文字。这些句子来自于动漫、小说、网络、名人名言等等,旨在打造一个简单、易用、轻量级的 API。

API地址:https://developer.hitokoto.cn/sentence/

2.2 API请求

请求方式:GET

请求地址:https://v1.hitokoto.cn/

请求参数:

参数名 类型 是否必须 说明
c 字符串 可选 cat,即分类,可以用逗号分隔多个分类,以限制句子的类型,可选值为以下类型(可选参数,但限制为5个):a(Anime)、b(Comic)、c(Game)、d(Novel)、e(Myself)、f(Internet)、g(Other)、h(诗词)、i(网易云)。默认值为 all。
charset 字符串 可选 返回的数据编码格式,可选值为 utf-8 或者 gbk,如果不设置此参数,默认为 utf-8 编码。如果你遇到了乱码问题,可以设置此项为 gbk,服务器会返回 gbk 编码的数据。
encode 字符串 可选 返回的数据内容编码方式,默认值为 js,可选值为:js,可以直接用于 JavaScript 代码中,即返回 js 变量声明的格式;json,可以直接转换为 JSON 格式;text,返回纯文本内容。
length 字符串 可选 限制句子的最大长度,默认值为 200。
password 字符串 可选 如果你设置了句子密码,则只有提供了正确密码的请求才会返回数据。
privacy 字符串 可选 指定返回句子是否含有用户敏感信息,默认为 public,所有句子都会返回。可选值:public,返回所有句子;private,返回不含用户敏感信息的句子;secret,返回完全保密的句子,只有管理员和神秘人可以看到。
source 字符串 可选 指定返回句子的来源,默认值为空,即返回所有来源的句子。可选值为:网络、猫眼电影、知乎。
status 字符串 可选 指定返回句子的审核状态,默认值为 publish,包括:publish,已发布的数据;pending,待审核的数据;rejected,已拒绝的数据。

2.3 API返回

返回数据的格式为 JSON,以下是返回数据的示例:

{

"id":5524, //本条一言的id

"hitokoto":"其实人生,就是不停的和自己玩捉迷藏的过程。", //一言正文

"type":"a", //一言的类型

"from":"wifi-qaq", //一言的出处

"creator":"wifi", //添加者

"created_at":"1472006394" //添加时间

}

返回数据包含的属性如下:

属性名 类型 说明
id 整型 本条一言的id
hitokoto 字符串 一言正文
type 字符串 一言的类型
from 字符串 一言的出处
creator 字符串 添加者
created_at 字符串 添加时间

3. PHP连接百度文心一言API

3.1 环境要求

PHP版本:5.5或以上版本。如果你的PHP版本小于5.5,则无法使用完整的curl函数库。在低版本PHP上使用curl库的功能是不完整的。

curl函数库,默认已安装在PHP5.3及以上的版本。如果您使用的是低于PHP5.3的版本,则需要启用curl函数库扩展。您可以在php.ini文件中设置extention=curl.so启用。

3.2 示例代码

接下来,我将展示如何使用PHP连接百度文心一言API获取随机的一句话。

<?php

//获取随机语句的API接口

$url = "https://v1.hitokoto.cn/";

//设置请求参数(这里我只是设置了请求编码方式,如果你需要其他参数可以自行设置)

$params = [

'encode' => 'json'

];

//使用curl函数执行GET请求

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url . '?' . http_build_query($params));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = json_decode(curl_exec($ch), true);

curl_close($ch);

//输出结果

if($data) {

echo "一言ID:" . $data['id'] . "<br>";

echo "一言正文:" . $data['hitokoto'] . "<br>";

echo "一言类型:" . $data['type'] . "<br>";

echo "一言出处:" . $data['from'] . "<br>";

echo "添加者:" . $data['creator'] . "<br>";

echo "添加时间:" . date('Y-m-d H:i:s', $data['created_at']) . "<br>";

} else {

echo "获取数据失败!";

}

?>

通过上面的示例代码,我们就可以连接百度文心一言API获取随机的一句话了。

4. 总结

在这篇文章中,我介绍了如何使用PHP连接百度文心一言API获取随机的一句话。通过这个小API,我们可以在我们自己的项目中使用一些好玩、有趣的句子,让我们的项目看上去更加生动、有趣。

后端开发标签