技术博客
歇后语查询:5 分钟从注册到第一条结果

歇后语查询:5 分钟从注册到第一条结果

作者: 万维易源
2026-08-31
歇后语查询快速接入Python示例免费接口
# 歇后语查询:5 分钟从注册到第一条结果 - **接口/接入点**:歇后语查询 · 1635-1 - **是否免费**:是(注册默认可免费调用,设使用档次限制) - **请求方式**:POST / GET - **返回格式**:JSON - **适用人群**:新注册用户、初级开发者、内容/教育从业者 - **阅读时间**:约 5 分钟 ## 核心要点 - 歇后语查询是**免费**接口,只需一个 `num` 参数即可随机返回若干条歇后语。 - 业务数据在 `showapi_res_body.contentlist` 数组里,每条含 `question`(谜面)与 `answer`(谜底)。 - 复制下方任一代码、把 `YOUR_APPKEY` 换成你的 AppKey 即可运行。 ## Why:这跟我有什么关系 你可能在做这些事:给公众号每日推一句歇后语、给孩子的国学课出互动题、给海报配一句俏皮话、或者单纯写个小游戏。**这套接口零成本、无需分类参数、无需翻页**,最适合"随机来一句"的轻量场景。注册即免费,先跑通再说。 ## What:前置条件与接口速览 | 项 | 值 | |----|----| | 接口地址 | `https://route.showapi.com/1635-1?appKey={your_appKey}` | | 接入点 | 1635-1(默认分组) | | 请求方式 | POST / GET | | 鉴权 | AppKey,放 query 参数 `appKey` | | 请求参数 | `num`(选填,String):随机返回几条,示例 `3` | | 返回格式 | JSON,业务数据位于 `showapi_res_body` | | 计费 | 免费,设使用档次限制 | | 集成能力 | MCP 服务、OpenAPI(YAML/JSON)、多语言示例 | 前置条件:一个 ShowAPI 账号 + 一个 AppKey([控制台获取](https://www.showapi.com/console#/myApp))。 ## How:第一次调用 ### 步骤 1 — 准备 AppKey 登录 ShowAPI 控制台,复制你的 AppKey。 ### 步骤 2 — 发起请求(任选一种) **Python(requests)** ```python import requests url = "https://route.showapi.com/1635-1" params = {"appKey": "YOUR_APPKEY"} data = {"num": "3"} try: resp = requests.post(url, params=params, data=data, timeout=15) resp.raise_for_status() body = resp.json()["showapi_res_body"] if body.get("ret_code") != "0": print("接口返回失败:", body.get("remark")) else: for item in body["contentlist"]: print(f"{item['question']} —— {item['answer']}") except requests.exceptions.RequestException as e: print("请求异常:", e) ``` **cURL** ```bash curl -X POST "https://route.showapi.com/1635-1?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "num=3" ``` **Node.js(fetch)** ```javascript const url = "https://route.showapi.com/1635-1?appKey=YOUR_APPKEY"; const body = new URLSearchParams({ num: "3" }); try { const resp = await fetch(url, { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body, }); const json = await resp.json(); const resBody = json.showapi_res_body; if (resBody.ret_code !== "0") { console.error("接口返回失败:", resBody.remark); } else { for (const item of resBody.contentlist) { console.log(`${item.question} —— ${item.answer}`); } } } catch (e) { console.error("请求异常:", e); } ``` ### 步骤 3 — 解析结果 把 `showapi_res_body.contentlist` 当成数组遍历即可,每条 `question` 是谜面、`answer` 是谜底。 ## 返回示例与解析 ```json { "showapi_res_code": 0, "showapi_res_error": "", "showapi_res_id": "ce135f6739294c63be0c021b76b6fbff", "showapi_res_body": { "ret_code": "0", "remark": "查询成功", "contentlist": [ { "question": "八十岁的阿婆", "answer": "老掉牙了" }, { "question": "刘备摔阿斗", "answer": "收买人心" }, { "question": "刘阿斗的江山", "answer": "白送" } ], "maxResult": 20, "allNum": 19, "allPages": 1, "currentPage": 1 } } ``` | 字段 | 类型 | 说明 | |------|------|------| | `showapi_res_body.ret_code` | String | `"0"` 成功,其他为失败 | | `showapi_res_body.remark` | String | 提示信息,如"查询成功" | | `showapi_res_body.contentlist` | Array | 歇后语数组,每元素 `{question, answer}` | | `contentlist[].question` | String | 前半句(描述/谜面) | | `contentlist[].answer` | String | 后半句(解释/谜底) | | `maxResult` / `allNum` / `allPages` / `currentPage` | String | 返回体内分页信息字段(详见返回字段全解篇) | ## 进阶 / 边界 - **`num` 不传**:接口可能返回默认条数,建议始终显式传 `num` 以稳定结果。 - **免费限频**:注册默认可免费调用但有使用档次限制,批量场景注意控制频率(见缓存去重篇)。 - **语料有限**:返回体内 `allNum` 示例为 19,说明底层为有限语料库,重复调用可能抽到相同条目(见缓存去重篇处理)。 ## FAQ **Q:AppKey 在哪里获取?** A:登录 ShowAPI 控制台 → [我的 AppKey](https://www.showapi.com/console#/myApp) 复制即可。 **Q:接口真的免费吗?** A:是免费服务,注册后默认可免费调用,但设使用档次限制(具体档位以官方 [档位说明](https://www.showapi.com/free-api) 为准)。 **Q:返回的是字符串还是数组?** A:实际返回中 `contentlist` 是**数组**,每元素含 `question` 与 `answer` 两个字段(OpenAPI YAML 类型标注为 string 是文档小瑕疵,以真实返回为准)。 **Q:一次最多返回几条?** A:通过 `num` 指定随机返回条数;返回示例里 `maxResult` 为 20,具体上限以接口实际返回为准,不要臆造固定上限。 **Q:GET 和 POST 都能用吗?** A:都能用。表单场景用 POST(`content-type: application/x-www-form-urlencoded`),简单调试用 GET 把参数拼到 URL 也可。 ## 相关能力 / 下一步阅读 - [歇后语查询返回字段全解:contentlist / ret_code / 分页字段一文读懂](https://www.showapi.com/guides/xiehouyu-response-fields-1635) - [歇后语查询实战:用 num 参数做"每日一语"小程序全链路设计](https://www.showapi.com/guides/xiehouyu-daily-1635) - **本系列共 13 篇**:查看[歇后语查询指南总目录](https://www.showapi.com/guides/xiehouyu-guides-1635)