如果你正在做一款儿童学习类小程序 / 家长辅导工具 / 微信刷题机器人,或者单纯想给自家娃每天随机出一些数学题,接口盒子的这个接口基本可以"开箱即用",题库 2 万道,题目大多面向小学低年级,每次调用随机返回一道,附带答案 + 解析,对开发者非常友好。
下面把接口用法、返回结构、以及 PHP / Python 两种调用示例一次讲透。
一、接口基本信息
项目 |
说明 |
接口地址 |
|
请求方式 |
GET 或 POST 均可 |
是否免费 |
免费,每日调用无上限 |
认证方式 |
|
适用场景 |
儿童数学练习、公众号/小程序刷题、家教辅助工具 |
二、请求参数
两个参数,都必须带:
参数名 |
必填 |
说明 |
|
是 |
用户中心的数字 ID,如 |
|
是 |
用户中心的通讯秘钥,如 |
三、返回参数
接口返回 JSON,核心字段:
字段 |
含义 |
|
|
|
文字提示(如"通讯秘钥错误") |
|
题目正文 |
|
答案 |
|
解题步骤解析 |
返回示例 1(单位换算题)
{ "code": 200, "timu": "小明从家里出发,步行走了120米,然后骑车走了1.5公里,最后又步行走了240米,他一共走了多少米?", "daan": "小明一共走了1860米。", "jiexi": "1. 单位换算:120米=0.12公里,240米=0.24公里\n2. 相加:0.12+1.5+0.24=1.86公里\n3. 转回米:1.86公里=1860米" }
返回示例 2(一年级加减)
{ "code": 200, "timu": "小明有3个苹果,他送了2个给小红,现在小明还剩几个苹果?(适合小学一年级学生)", "daan": "1个苹果。", "jiexi": "小明原先有3个苹果,送给小红2个,那么小明还剩1个苹果。" }
可以看到题目难度跨度从一年级加减到四五年级的单位换算 / 多步应用都有,解析也写得像老师板书,直接展示给孩子没问题。
四、GET 调用示例(最快试通)
curl "https://接口盒子/api/zici/shuxuex.php?id=88888888&key=88888888"
浏览器地址栏直接粘也行,返回就是上面的 JSON。
五、PHP 调用示例(cURL · POST)
<?php $apiUrl = 'https://接口盒子/api/zici/shuxuex.php'; $params = [ 'id' => '你的用户ID', 'key' => '你的通讯KEY', ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $apiUrl); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $response = curl_exec($ch); if (curl_errno($ch)) { echo 'cURL 错误:' . curl_error($ch); exit; } curl_close($ch); $data = json_decode($response, true); if ($data['code'] == 200) { echo "📘 题目:" . $data['timu'] . PHP_EOL; echo "✅ 答案:" . $data['daan'] . PHP_EOL; echo "📝 解析:" . $data['jiexi'] . PHP_EOL; } else { echo "接口返回错误:" . $data['msg']; }
要点:
- 用
http_build_query拼 POST 体,中文不会乱码 - 先判
code === 200再取timu/daan/jiexi,否则可能是 key 错或频限
六、Python 调用示例(requests · GET)
import requests API_URL = "https://接口盒子/api/zici/shuxuex.php" params = { "id": "你的用户ID", "key": "你的通讯KEY", } resp = requests.get(API_URL, params=params, timeout=10) data = resp.json() if data["code"] == 200: print("📘 题目:", data["timu"]) print("✅ 答案:", data["daan"]) print("📝 解析:", data["jiexi"]) else: print("接口错误:", data["msg"])
如果想用 POST,把 requests.get(...)换成:
resp = requests.post(API_URL, data=params, timeout=10)
效果完全一样。
七、几个实战小建议
- 别用公共 ID 上生产——
88888888是共享频限,自己注册一个 ID/KEY 才独享。 - 缓存一天——虽然接口免费无日限,但你可以在服务端每请求一次存 DB,前端按"下一题"翻,省流量也更快。
- 题目分级——接口本身没传"年级"参数,是纯随机的。如果你要做年级切换,建议本地拉一批后按关键词("一年级"/"公里"/"面积")简单分类,或者多拉几次自己打标。
- 解析里的换行——
jiexi字段里经常有\n或数字序号,前端渲染时记得white-space: pre-line或把\n换成<br>,不然解析会挤成一坨。
八、适合拿它做什么
- 📱 微信小程序「每日一练」
- 🤖 公众号 / 企微机器人,指令
.数学丢一题出来 - 👨👩👧 家长端 App 晚饭后随机抽一道陪娃做
- 🎮 答题小游戏后端题库补充(2 万题当冷启动够用)
总体来说,这是一个零成本、无日限、带解析的题库接口,对想快速跑原型的个人开发者很友好。