英国365bet官方网

HTTPDNS:域名解析接口

发布时间: 2025-10-18 19:22:13 作者: admin 阅读量: 5957 评论数: 20

6. API响应说明服务端接收到客户端的合法解析请求后,会分析请求参数,并发起域名解析任务,解析任务结束之后,服务端会返回解析结果,解析结果以JSON的格式向客户端返回。

6.1 响应字段说明响应报文为JSON格式,路径中各节点的含义如下:

字段路径

描述

必须

加密

取值示例

code

请求整体状态

success

mode

data加密模式:

0: 明文

1:AES-CBC-128(PKCS#7填充)

2:AES-GCM-128

0, 1, 2

data

响应数据根节点

JSON对象或加密字符串

data.cip

实际参与解析的客户端IP

192.168.1.1

data.answers

域名解析结果数组

JSON数组

data.answers[ ].dn

解析结果对应的域名

www.example.com

data.answers[ ].v4

IPv4解析结果

JSON对象

data.answers[ ].v4.ips

解析出的IPv4地址列表

["180.101.XX.XX", "180.101.XX.XX"]

data.answers[ ].v4.ttl

IPv4解析结果的TTL

60

data.answers[ ].v4.extra

SDNS解析中,IPv4的额外信息

"simplestring"

data.answers[ ].v6

IPv6解析结果

JSON对象

data.answers[ ].v6.ips

解析出的IPv6地址列表

["2400:3200::1"]

data.answers[ ].v6.ttl

IPv6解析结果的TTL

60

data.answers[ ].v6.extra

SDNS解析中,IPv6的额外信息

"simplestring"

data.answers[ ].v6.no_ip_code

无IP指示码

RRNotExist

6.2 响应Code说明code字段是整个HTTP解析请求响应的整体状态描述,取值、含义、以及对应的HTTP状态码如下。

响应码code

描述

HTTP状态码

success

请求被正常处理和返回。

200

MissingArgument

缺少必要参数。

400

InvalidHost

域名格式不合法。

400

TooManyHosts

单域名解析接口传递了多个待解析域名。

400

SdnsNotSupported

海外暂不支持SDNS服务。

400

InvalidAccount

无效账户、账户不存在或未配置任何解析域名。

403

MethodNotAllowed

不支持的HTTP方法。

405

InternalError

服务端内部错误。

500

6.3 无IP指示码由于域名配置的原因(如未在控制台将该域名接入解析列表)或者域名本身的原因(如域名没有配置IPv6记录),客户端可能在响应中拿不到IP,这里您可以通过no_ip_code字段获取对应的原因。以下是该字段的取值和含义。

no_ip_code

含义

DomainNotExist

无效域名,域名不存在于DNS系统中。

RRNotExist

域名不存在该类型的记录,请确认该域名是否配置了IPv4或者IPv6列表。

NonWhitelistDomain

未在控制台将该域名加入解析列表,HTTPDNS服务端不给予解析,请把参考域名管理添加域名。

AuthDNSTimeout

递归查询的过程中,权威DNS长时间未响应结果,可能是网络波动或者权威DNS故障。

Unknown

其他未知原因,请联系技术支持排查。

6.4 响应报文示例明文模式下的成功响应示例HTTP状态码为:200

响应消息体示例:

{

"code": "success",

"mode": 0,

"data": {

"answers": [

{

"dn": "www.example1.com",

"v4": {

"ips": [

"180.101.XX.XX",

"180.101.XX.XX"

],

"extra": "simplestring",

"ttl": 60

},

"v6": {

"ips": [],

"no_ip_code": "RRNotExist",

"extra": "simplestring"

}

},

{

"dn": "www.example2.com",

"v4": {

"ips": [

"180.101.51.73",

"180.101.49.44"

],

"ttl": 60

},

"v6": {

"ips": [],

"no_ip_code": "RRNotExist"

}

}

],

"cip": "192.168.1.1"

}

}密文模式下的成功响应示例HTTP状态码为:200

响应消息体示例:

{

"mode": 2,

"code": "success",

"data": "fCF3fVHFOrNAyCs9cEJAprAYx+RfdM8zDbXmVLypO/8ei1muFJ3cQ7EbyekDAU9CN+5UpnHf7vYQGplfXmuwbcSNz9J6hNVQ8XI+i5OTmZ3kRkTpPM8yXI7P7DYwRfWzpFB0Xu41iFHtv4uFYsRQAbNwnD7q9r2NXAUkBFPOOIJGeije9F9k5l4ytr1PFq/yruzsHXEktCT0wyEsnTSamplHYLnBfqwyKgaBharveZeGGlU1tfF6QE5xY2CRRBjntCnbvkuP8gv4y14qw8VYh3/YD6z3mTk6sgVO1rPc9YI039drDTpYf16WsPb+tPZ5YC805knG5k2OcsnxwNCfj/+ijJQSFBacCPbL5TfIdXfrAw8eczqIQLcTjQ7PExfHSkFxDJgzcl+V6cqI8lbn5vJsQcF2Bedo6WSLUPiy3vgdwOl8x2g7eqXnBzcSNsclQBVRK7g5gwynRBbZGJ4krH8="

}失败响应示例HTTP状态码为:4xx/5xx

响应消息体示例:

{

"code": "MissingArgument"

}6.5 响应数据解密(可选)当服务端返回加密响应时(mode 字段为 1 或 2),需要对 data 字段进行解密以获取实际的解析结果。

解密流程1. 检测加密模式:通过响应中的 mode 字段确定加密模式:

mode: 1 - AES-CBC 模式

mode: 2 - AES-GCM 模式

2. Base64 解码:对响应中的 data 字段进行 Base64 解码,得到二进制数据。

3. 提取 IV 和密文:根据加密模式从解码后的数据中提取 IV 和密文:

AES-CBC 模式(mode=1)

前 16 字节为 IV

后续字节为密文

AES-GCM 模式(mode=2)

前 12 字节为 IV

后续字节为密文

4. 进行解密:使用控制台获取的 secretKey 和提取的 IV 对密文进行解密。

5. 获取解密结果:解密后得到的数据即为原始的 data 字段内容,按照响应字段格式进行解析。

响应解密示例响应的data值

hvlBFDr8ZaQjNCyqvyn6cUPs/l/QI6Z8pORPdmpl/MpeslasdMi432cW5mFfPnvHmwzZpmgyd6vCnQb89YeIqwz0Yy61l9pm0PWX41xhD19HoTQPxHp90uLxjGYQIGgV6PPGVu84jyKLsao9tUTgTZc6zJnhZKnfMZjP5G67nRrwoU1r1SR68GJ6WyTL4JAqnHJoDx7yg08GAlrzYmbfiCSemy3/+yDvBZAE2jV692t/JAwtuSOlAHBX30Rx/VMdSsgaFDfQmPr+FNxBlPtcrrS2ml8xgvR/m4Gx8CncsQBZX1FoUHlfrGb4kAXvA0ilfCm5/4pO0fzqXwyE8QoBpwC06NtO5F4imdjQKfPWQByabIXE4SetroeGE0m/p6kt6n6xinbkH0oIcw9i4COibLr9TuOtDI+wN9oMtW9Xpo7rgQbsEDr55ABSr+4YgK2zAEuY13FabmgNMPhZQvBZcEpWEOQ=解密后的明文

{

"answers": [

{

"dn": "www.example1.com",

"v4": {

"ips": [

"192.185.XX.XXX"

],

"ttl": 14400

},

"v6": {

"ips": [],

"no_ip_code": "RRNotExist",

"ttl": 600

}

},

{

"dn": "www.example2.com",

"v4": {

"ips": [

"172.67.XXX.XX",

"104.21.XX.XX"

],

"ttl": 300

},

"v6": {

"ips": [

"2606:4700:3037:0:0:0:ac43:c316",

"2606:4700:3037:0:0:0:6815:2c31"

],

"ttl": 300

}

}

],

"cip": "192.168.1.1"

}后续步骤本文档说明了通过 HTTP API 进行域名解析的流程,包括构造请求参数、可选的加密与加签、以及发起请求与解析响应的步骤。后续您可以参考最佳实践建议,基于解析接口实现稳定、安全、高性能的 HTTPDNS 客户端。

相关文章