ABXCDN
首页
OEM合作协助开发控制台
演示站点
演示站点
  • 演示客户端
  • 演示服务端
首页
OEM合作协助开发控制台
演示站点
演示站点
  • 演示客户端
  • 演示服务端
联系我们
  1. 首页
  • ABXCDN-API简介
  • 第三方应用登录/绑定
    • URL跳转注册/登录/绑定
      GET
  • 获取临时Token
    GET
  • 新用户注册(代理代注册)
    POST
  • 绑定/更新手机号码
    POST
  • 手机验证码登录
    POST
  • 注销登录
    POST
  • 账户验证
    POST
  • 账户信息
    POST
  • 账户实名认证-请求
    POST
  • 账户实名认证-验证
    POST
  • 卡密充值卡充值
    POST
  • 注册API
    POST
  • 添加域名
    POST
  • 获取域名验证数据
    POST
  • 验证域名解析
    POST
  • 开启/关闭域名加速
    POST
  • 删除域名
    POST
  • 获取用户域名列表-不携带任何数据
    POST
  • 获取用户域名列表-基本信息
    POST
  • 数据模型
    • arr
首页
OEM合作协助开发控制台
演示站点
演示站点
  • 演示客户端
  • 演示服务端
首页
OEM合作协助开发控制台
演示站点
演示站点
  • 演示客户端
  • 演示服务端
联系我们
  1. 首页

ABXCDN-API简介

本文档介绍了ABXCDN提供公共API的一些简介和重要的签名方法。您可以使用这些 API 对内容分发网络进行相关操作。例如配置加速域名、提交刷新任务等。
接口地址
https://api.dnss.vip/
演示站点
演示客户端 https://demo-php.dnss.vip/
演示服务端 https://demo-php-api.dnss.vip/ 注:显示空白为正常
通信协议
ABXCDN API 的所有接口均通过 HTTPS 进行通信,提供高安全性的通信通道。
请求方法
支持的 HTTP 请求方法: POST(推荐),GET;我们绝大多数接口是采用POST请求方法,注意调用时的提示。
安全限制
所有接口均请求频率限制:20次/秒。
字符编码
均使用 UTF-8 编码。
签名方法
1. 申请安全凭证
在第一次使用 API 之前,请前往 控制台->其他功能->API 管理页面 申请安全凭证。安全凭证包括 SecretId 和 SecretKey:
SecretId 用于标识 API 调用者身份
SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。
2. API签名所需的ID和KEY
有了安全凭证SecretId 和 SecretKey后,就可以生成签名串了。以下是使用签名方法 v2 生成签名串的详细过程:
假设用户的 SecretId 和 SecretKey 分别是:
SecretId:LCA029E******T06JN888
SecretKey:LCK0UJ6******3IJR6AR6
注意:这里只是示例,请根据用户实际申请的 SecretId 和 SecretKey 进行后续操作!
3. 签名参数
参数名称数据类型是否必选参数说明
Authorizationstring是该参数是Signature的结构体。
Authorization结构体
参数名称数据类型是否必选参数说明示例值
Idstring是您的SecretIdLCA029E******T06JN888
Algorithmstring是哈希签名方法固定值:hmac-sha1
Datestring是当前格林威治时间(GMT)格式Mon, 13 Mar 2023 08:33:00 GMT
Versionstring是API版本固定值:2.0
Signaturestring是哈希二进制签名后并base64编码得到的签名串见下述
Spacestring是自定义值,认证成功后会原样带回的base64编码VGVzdA== 可不填为空
示例值:
hmac Id="LCA029E******T06JN888", Algorithm="hmac-sha1", Date="Mon, 13 Mar 2023 08:33:00 GMT", Version="2.0", Signature="C8z96cGfYKl0gOh6cltVegrbmCI=", Space=""
Signature签名串的结构体,编码排列后的值:
Signature的结构体其中参数为 Id,Algorithm,Date,Version;并使用密钥SecretKey参与编码得到的值。
签名串示例值:
C8z96cGfYKl0gOh6cltVegrbmCI=
注意
Signature为上述示例值,进行hash_hmac哈希二进制签名后,再进行base64编码的值,注意每个参数前逗号后的空格:
正确示例:Id="", Algorithm=""
错误示例:Id="",Algorithm=""
Space参数为自定义值,成功响应后会原样带回,传递时必须进行base64编码。
4. 签名演示
提示
ABXCDN 专门对 PHP 进行了封装,可联系我们获取封装后的开发包,即可简单调用所有接口,下述代码是单独获取用户临时Token的示例,其他接口无需进行GET Header头部的请求。
PHP示例
$ApiUrl = 'https://api.dnss.vip/'; //接口地址
$Version = '2.0'; //版本号,固定值,目前为2.0
$HttpMethod = 'GET'; //请求方法

$Action = 'GetUserToken'; //需要调用的接口

$SecretId = 'LCA029E******T06JN888'; //您的SecretId
$SecretKey = 'LCK0UJ6******3IJR6AR6'; //您的SecretKey
$Space = base64_encode('Test'); //自定义值,该参数在成功授权后,响应时会原样带回,必须base64编码

$DateTime = gmdate('D, d M Y H:i:s T'); //格林威治时间(GMT)格式

$Authen = 'hmac Id="'.$SecretId.'", Algorithm="hmac-sha1", Date="'.$DateTime.'", Version="'.$Version.'"'; //拼接签名串

$Signature = base64_encode(hash_hmac('sha1', $Authen, $SecretKey, true)); //使用SecretKey对签名串进行哈希二进制签名

$Authorization = $Authen.', Signature="'.$Signature.'", Space="'.$Space.'"'; //拼接Authorization值

$Headers = array( //将Authorization放到Header请求头
    "Authorization: {$Authorization}"
 );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $ApiUrl.$Action);
curl_setopt($ch, CURLOPT_HTTPHEADER, $Headers); //设置Header请求头
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $HttpMethod);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$Result = curl_exec($ch);
curl_close($ch);

var_dump(json_decode($Result, true)); //得到认证信息
修改于 2024-11-15 13:45:25
下一页
URL跳转注册/登录/绑定
Built with