如果你正在找一个「随叫随到、库存巨大、还不要钱」的笑话接口,接口盒子的随机笑话API基本就是为你准备的。随机返回一条中文小笑话,20 万库存,请求方式宽松到 GET、POST 都行,返回又是标准 JSON,不管是塞进网站侧边栏、做聊天机器人彩蛋,还是写个命令行摸鱼脚本,都能直接上手。
一、接口基本信息
项目 |
说明 |
接口名称 |
随机笑话[20万] |
请求地址 |
|
请求方式 |
GET 或 POST |
鉴权方式 |
用户ID(id)+ 用户KEY(key) |
返回格式 |
JSON |
费用 |
接口本身免费,每日调用无上限 |
频率限制 |
公共ID/KEY共享分钟级限频,私有ID/KEY独享 |
二、请求参数
两个参数都是必填,缺一个都会直接 400。
参数名 |
含义 |
示例 |
id |
用户中心的数字ID |
|
key |
用户中心通讯秘钥 |
|
三、返回参数
接口用 code当业务状态码,200成功、400出错,这点一定要记住——笑话正文不在 msg里,而在 content字段。
参数名 |
说明 |
code |
|
msg |
信息提示,成功时也可能带提示 |
content |
笑话正文内容,只有 |
成功返回示例
{ "code": 200, "content": "两只母鸡在聊天,看到一只公鸡无精打彩的走来,母鸡问:「咋地了?没精神?」公鸡说:「做点生意!」母鸡问:「做啥生意累这德性啊?」公鸡不好意思的说:「嗯卖点鸡精。」" }
失败返回示例
{ "code": 400, "msg": "通讯秘钥错误。" }
四、GET 请求示例
最简单的玩法,浏览器地址栏直接敲:
https://接口盒子/api/zici/xiaohua.php?id=88888888&key=88888888
五、PHP 调用示例
方式一:GET 请求(file_get_contents)
适合环境没开 cURL 的轻量场景,几行代码搞定。
<?php $userId = "你的ID"; $apiKey = "你的KEY"; // 2. 拼接 GET URL $apiUrl = "https://接口盒子/api/zici/xiaohua.php?id={$userId}&key={$apiKey}"; // 3. 发送请求并解析 JSON $response = file_get_contents($apiUrl); $data = json_decode($response, true); // 4. 根据 code 判断结果 if ($data['code'] == 200) { echo "😄 随机笑话:" . $data['content']; } else { echo "❌ 请求失败:" . $data['msg']; } ?>
方式二:POST 请求(cURL,推荐)
生产环境更推荐 cURL,能设超时、能抓错误,稳得多。
<?php $apiUrl = "https://接口盒子/api/zici/xiaohua.php"; $userId = "你的ID"; $apiKey = "你的KEY"; // 2. 初始化 cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, [ 'id' => $userId, 'key' => $apiKey ]); // 3. 执行请求 $response = curl_exec($ch); // 4. 错误处理 if ($response === false) { echo "请求失败:" . curl_error($ch); curl_close($ch); exit; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); // 5. 解析并返回笑话 $data = json_decode($response, true); if ($httpCode == 200 && $data['code'] == 200) { echo "😄 随机笑话:" . $data['content']; } else { echo "❌ 错误码:" . $data['code'] . ",信息:" . $data['msg']; } ?>
六、Python 调用示例
方式一:GET 请求
先装依赖:pip install requests。
import requests # 1. 替换为自己的 ID 和 KEY user_id = "你的ID" api_key = "你的KEY" # 2. 发送 GET 请求 params = { "id": user_id, "key": api_key } try: response = requests.get( "https://接口盒子/api/zici/xiaohua.php", params=params, timeout=10 ) # 3. HTTP 层和业务层双层判断 if response.status_code == 200: data = response.json() if data["code"] == 200: print("😄 随机笑话:" + data["content"]) else: print("❌ 业务错误:" + data["msg"]) else: print("❌ HTTP错误码:" + str(response.status_code)) except requests.exceptions.RequestException as e: print("❌ 网络异常:" + str(e))
方式二:POST 请求(推荐)
import requests from requests.exceptions import RequestException # 1. 配置凭证 api_url = "https://接口盒子/api/zici/xiaohua.php" user_id = "你的ID" api_key = "你的KEY" # 2. 表单数据 data = { "id": user_id, "key": api_key } try: # 3. 发送 POST 请求,记得加 timeout response = requests.post(api_url, data=data, timeout=10) response.raise_for_status() # 非 2xx 直接抛异常 result = response.json() if result["code"] == 200: print("😄 随机笑话:") print(result["content"]) else: print("❌ 接口返回错误:" + result["msg"]) except RequestException as e: print("❌ 请求异常:" + str(e))
七、常见错误排查
现象 |
原因 |
解决办法 |
|
ID 或 KEY 填错 |
去用户中心核对 |
公共KEY偶尔调不通 |
分钟级限频被打满 |
换自己的私有ID/KEY |
超时无响应 |
网络或SSL问题 |
加 |
拿到数据却没有笑话 |
误读字段 |
正文在 |
八、使用注意事项
- KEY 别硬编码在前端:PHP/Python 服务端调用没问题,但如果是网页 AJAX 直调,KEY 会直接暴露,建议走自己的后端中转。
- content 可能含换行:前端渲染时记得把
\n换成<br>,不然排版会乱。
九、能用在哪
这个接口虽然简单,但落地场景不少:
- 网站侧边栏/ footer 随机显示一句笑话,缓解用户等待焦虑
- 微信/QQ 机器人收到「讲笑话」指令时调用
- 命令行工具
joke命令,上班摸鱼专用 - 登录页、404 页、加载页的趣味文案
- 每日推送脚本,定时把笑话发到群里的「快乐担当」