赞片CMSAPI接口

域名注册
域名注册 正式会员超兽战士 👑年卡会员
发布于 2026-10-07 05:59 ·1 浏览 ·0 回复

学完这篇,你能把赞片CMS(ZANPIAN CMS)的 API 接口打开、配上密钥、并用 curl 调通「列表」和「详情」两个最常用的接口。

赞片CMS 是基于 ThinkPHP 的视频站建站系统,它的 API 主要给移动端 App、小程序、采集器或第三方站点喂数据。下面按顺序做一遍,全程大概 10 分钟。

第一步:确认版本,找到 API 入口

这一步要确认你装的是哪个版本、接口文件在哪,做完你就知道该往哪个地址发请求了。

登录后台,看首页右下角版本号(形如 ZANPIAN CMS v3.x)。接口入口通常只有两处:

  • 根目录独立入口:http://你的域名/api.php
  • ThinkPHP 模块路由:http://你的域名/index.php/api/index

用浏览器直接打开 http://你的域名/api.php。如果返回一段 JSON 或 XML(比如 {"code":0,"msg":"..."} 或报「缺少参数」),说明入口存在、框架正常。

注意:如果你开了伪静态,/api.php 这条路径必须写完整,不要写成 /api,否则会被 rewrite 规则吃掉,返回 404。

第二步:后台开启接口并设置密钥

这一步把接口从「关闭」改成「开启」,并拿到调用凭证。

进入后台菜单 系统 → 网站设置 → API 接口设置(部分版本叫 扩展 → 采集接口设置),逐项填:

  • 接口开关:开启
  • 接口密钥 / 安全码(api_key):填一串 32 位随机字符,例如 8f3a...c21
  • 默认返回格式:json
  • 单页最大条数:20(留空或 0 表示不限制,不建议)
  • 允许调用 IP:留空 = 不限制

保存后进入 系统 → 缓存管理 → 点击 清除全部缓存(含数据缓存和模板缓存)。

注意:密钥改完必须同步更新调用方,否则所有请求会统一返回 code=-1 或 403,而报错信息往往只有「密钥错误」四个字。

第三步:调用列表接口

这一步拿到一页视频列表,是所有对接的基础。

http://你的域名/api.php?ac=videolist&pg=1&limit=20&t=1&order=addtime&format=json&key=你的密钥

常用参数含义:

参数作用示例
ac接口动作videolist
pg页码,从 1 开始1
limit本页条数,受后台上限约束20
t分类 ID,后台 分类管理 里能看到1
order排序字段addtime
format返回格式json / xml

返回体里主要看 data.list 数组和 data.page 分页信息。

第四步:调用详情接口和搜索接口

详情接口按 ID 取单条完整数据,搜索接口按关键词模糊匹配。

# 详情
http://你的域名/api.php?ac=videodetail&id=123&format=json&key=你的密钥

# 搜索
http://你的域名/api.php?ac=search&wd=关键词&pg=1&limit=10&format=json&key=你的密钥

详情接口返回里通常包含 vod_name、vod_pic、vod_content、以及播放组 vod_play_url。vod_play_url 是分集字符串,格式一般是 第1集$地址#第2集$地址,拆分时先按 # 切集、再按 $ 切「集名/地址」。

注意:vod_content 里的 HTML 是转义过的,前端渲染前要先反转义,否则页面上会直接显示 <p>。

第五步:如果开了安全模式,补上签名

后台若勾选了「开启签名校验」,请求必须多带一个 sign 参数,规则是:把所有参数按参数名 ASCII 升序拼成 k=v&k=v,末尾直接接密钥,做一次 MD5。

$params = ['ac'=>'videolist','pg'=>1,'limit'=>20,'key'=>$key];
ksort($params);
$str = urldecode(http_build_query($params)) . $key;
$params['sign'] = md5($str);

第六步:用 curl 调试并排查

curl -s "http://你的域名/api.php?ac=videolist&pg=1&limit=2&format=json&key=你的密钥" | python -m json.tool

-s 静默、json.tool 格式化,一眼就能看出返回结构对不对。

注意:如果浏览器能打开但代码调不通,八成是 CORS。在 api.php 顶部加 header('Access-Control-Allow-Origin: *'); 再试;同时确认服务器没开防护软件的「防采集」规则,它会把带 key= 的请求直接拦成 503。

常见坑速查

  • 改了数据但接口不更新:先清缓存,再检查是否开了 CDN 缓存。
  • 返回中文乱码:确认输出头是 Content-Type: application/json; charset=utf-8。
  • 条数总是被截断:后台「单页最大条数」在起作用。
  • 分页对不上:接口页码从 1 开始,很多前端分页组件从 0 开始。

小结

  1. 入口是 /api.php,先用浏览器确认能返回 JSON。
  2. 后台 系统 → 网站设置 → API 接口设置 开启接口、设置 32 位密钥、清缓存。
  3. 核心参数是 ac、pg、limit、t、format、key。
  4. 列表用 ac=videolist,详情用 ac=videodetail&id=x,搜索用 ac=search&wd=x。
  5. 开了签名校验就按 ASCII 升序拼接 + 密钥做 MD5。
  6. 调不通先查密钥、缓存、CORS 和防采集规则这四项。
版权声明:本文来自 GJ论坛《赞片CMSAPI接口》
原文链接:https://www.gj0.com/thread-109.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~