天中模联 · 实时数据接口

THSMUN Live Data API — 为「天中模联信息查询系统」提供联合国官方新闻稿、决议索引与文号核实
接口运行中。 这个服务替浏览器抓取联合国官方数据,转成 JSON 并开放跨域访问。
浏览器无法直连 un.org 抓数据(跨域限制,已实测确认),所以由这一层服务端中转。
目前提供三类数据:官方新闻稿(缓存 30 分钟)、安理会决议索引(缓存 6 小时)、文号真伪核实。同学们打开网页时取的是已抓好的结果,无需现场等待。

接口列表

路径说明
/news最新联合国新闻稿。返回标题、链接、发布时间,缓存 30 分钟。
/docs安理会决议索引,抓自安理会官网总表(实测 2829 条,1946 至今),每条附各语言取件地址。参数:limit(1–200)、year(按年过滤)、q(按文号筛选)。
/doc文号核实 + 取件。判定文号是否经官方总表收录,并给出中/英/法/西/俄/阿六种语言的取件页地址。参数:sym(文号)、lang(默认 zh)。
/healthz健康检查。返回新闻与索引两套数据的缓存状态、条目数、抓取时间,用于排查。
/refresh强制立刻重新抓取,不等缓存过期。参数:target(news / docs / all,默认 all)。

为什么需要「文号核实」这一层?

官方取件页 undocs.org/zh/{文号} 对任何输入都返回 200 —— 实测 S/RES/99999999(2026)(不存在)、甚至 XYZ/QQ/12345(乱码)都返回 200,页面长度都是 4144、标题都是 "Document Viewer"。
所以「能打开」绝不能当作「文件存在」。本服务以安理会官网决议总表为白名单在线核实: verified(总表收录)/not-in-index(查无此号)/out-of-scope(非安理会类,无法核实)/ambiguous(只给编号、多年份候选),前端据此如实标注,不谎报。

开会前想要「此刻最新」?

点下面的按钮,服务会立刻重新抓取官方源(新闻 + 决议索引),之后一段时间内所有人打开网页都拿到这份新数据。

🔄 立刻刷新全部数据 📰 当前新闻 📑 当前决议索引

数据来源与可靠性

数据源:联合国新闻稿 press.un.org 官方 RSS · 安理会决议总表。
· 抓取失败时会保留上次成功的数据并如实标记 stale: true,绝不把失败伪装成最新。
· 上游返回 HTTP 200 但正文为空的情况会被识别为失败(已实测踩过这个坑)。
· 文号核实失败(总表抓不到)时标记 unverified,仍给取件链接但明确说明"无法确认存在"。
· 接口本身不含任何个人信息,也不接收任何上传数据,只做公开数据的只读转发。

返回格式示例

{
  "ok": true,
  "source": "https://press.un.org/en/rss.xml",
  "fetchedAt": "2026-10-06T13:45:12.345Z",
  "stale": false,
  "count": 15,
  "items": [
    { "t": "新闻标题", "l": "https://press.un.org/en/2026/xxxx.doc.htm", "d": "Mon, 05 Oct 2026 19:41:07 -0400" }
  ]
}