DNS 查询 API 参数精讲:从请求到返回的完整解析
适用场景当你的应用需要绕过系统默认 DNS 解析器直接向指定服务器查询域名记录时一个轻量的 DNS 查询 API 能帮你省去自己实现 RFC 1035 的复杂度。常见场景包括自动化运维中批量检测域名的 A 记录或 MX 记录是否变更安全分析时获取特定域名的 TXT、CNAME 记录多 DNS 服务器对比查询验证解析一致性在无 root 权限的环境中需要 DoHDNS over HTTPS防劫持。接口能力边界该 API 基于自实现的 DNS 协议RFC 1035优先使用 UDP 查询若遇超时或截断则自动 fallback 到 DoH通过 HTTPS 发送 DNS 请求避免传统 53 端口被劫持的问题。支持以下记录类型类型说明AIPv4 地址记录AAAAIPv6 地址记录MX邮件交换记录TXT文本记录CNAME别名记录NS域名服务器记录SOA起始授权机构记录SRV服务定位记录PTR反向地址记录CAA证书认证机构记录可通过逗号分隔同时查询多种类型例如type:A,MX,TXT。用户 QPS 为 5每分钟限制 300 次请求以文档为准。请求参数与鉴权API 地址https://v1.apizero.cn/api/dns-lookup请求方法POSTContent-Typeapplication/jsonHeader 鉴权参数类型必填说明Authorizationstring是API Key格式Bearer your_api_key实际测试中发现接口也兼容X-API-Key头部见 curl 示例但文档以Authorization为准。建议两种方式都支持优先使用Authorization。请求体 (JSON Object)字段类型必填默认值说明domainstring是-查询的域名别名 name/hosttypestring否ALL记录类型逗号分隔。示例A、MX,TXT、ALL等于 A,AAAA,MX,TXT,CNAME…serverstring否114.114.114.114DNS 服务器 IP逗号分隔最多 3 个。示例8.8.8.8,1.1.1.1timeoutnumber否5单请求超时秒数范围 1~30dohnumber否0是否强制走 DoH0自动回退1强制 HTTPS 查询doh_providerstring否cloudflareDoH 服务商cloudflare / google / alibaba。当 doh1 时生效参数type的默认值为ALL但实际 API 内部会展开为全部支持的类型。如果只需要指定类型建议显式传入以提高效率。curl 示例可复制# 替换 YOUR_API_KEY 为你的实际密钥 export API_KEYYOUR_API_KEY curl -sS -X POST \ -H Authorization: Bearer $API_KEY \ -H Content-Type: application/json \ -d { domain: example.com, type: A, server: 8.8.8.8, timeout: 5, doh: 0 } \ https://v1.apizero.cn/api/dns-lookup返回示例格式化后{ code: 0, msg: 成功, request_id: req_abc123, data: { domain: example.com, type: A, server: 8.8.8.8, transport: udp, rcode: 0, rcode_text: NOERROR, elapsed_ms: 32, truncated: false, answers: [ { name: example.com, type: A, ttl: 300, value: 93.184.216.34 } ] } }Python 代码接入使用requests库实现一次查询import requests API_URL https://v1.apizero.cn/api/dns-lookup API_KEY your_api_key_here # 替换为真实 Key headers { Authorization: fBearer {API_KEY}, Content-Type: application/json } payload { domain: example.com, type: A,MX, server: 8.8.8.8, timeout: 5, doh: 0 } try: resp requests.post(API_URL, headersheaders, jsonpayload, timeout10) resp.raise_for_status() result resp.json() if result[code] 0: print(查询成功耗时, result[data][elapsed_ms], ms) for ans in result[data][answers]: print(f{ans[type]} {ans[name]} - {ans[value]} (TTL{ans[ttl]})) else: print(错误码, result[code], 错误信息, result[msg]) except requests.exceptions.RequestException as e: print(网络请求失败, e)返回值逐字段解读响应是一个 JSON 对象顶层包含code、msg、request_id和data。顶层字段类型说明codeint业务状态码0 表示成功非 0 详见错误表msgstring提示信息成功时“成功”失败时给出具体原因request_idstring本次请求唯一标识便于问题排查dataobject查询数据主体data 详解字段类型说明domainstring查询的域名typestring请求的记录类型多个时逗号分隔serverstring实际使用的 DNS 服务器多个时显示第一个成功响应的transportstring传输协议udp或httpsDoHrcodeintDNS 响应码0NOERROR3NXDOMAIN 等rcode_textstring可读的响应码解释elapsed_msint查询耗时毫秒truncatedbool响应是否被截断通常表示 UDP 结果过大需改用 DoH 或 TCPanswersarray答案列表每个元素包含以下字段answers 数组元素字段字段类型说明namestring记录对应的域名typestring记录类型如 A、MXttlint生存时间秒valuestring记录值IP、域名、或文本对于 MX 记录value 格式通常为10 mail.example.com.其中优先级与目标由空格分隔。常见错误与处理code含义处理建议1001参数缺失如未传 domain检查请求体字段1002域名格式无效domain 不能包含协议前缀或端口1003不支持的记录类型仅支持文档列出的 10 种类型1004DNS 服务器不可达或超时尝试增加 timeout或使用 doh1 走 HTTPS2001认证失败API Key 无效或缺失检查 Header 中的 Authorization2002频率超限QPS 5增加重试间隔或实现本地缓存注意服务端返回 HTTP 状态码通常为 200业务错误通过 code 体现但鉴权失败时会返回 401 或 403。工程化注意事项1. 缓存策略DNS 记录的 TTL 通常为 60~86400 秒。建议在客户端缓存查询结果避免同一域名的重复请求。根据 TTL 设置过期时间过期后重新查询。2. 超时设计业务层请求超时应设置为 (timeout * 重试次数 buffer)。例如 timeout5最多重试 2 次则 HTTP 超时可设为 12 秒。3. 多个 DNS 服务器与容错server 参数支持逗号分隔多个 DNS 服务器如8.8.8.8,1.1.1.1,114.114.114.114。API 内部会按顺序尝试直到某个服务器成功返回。但建议至少指定 2 个权威公共 DNS以提升可用性。4. DoH 强制模式在网络环境较差防火墙丢弃 UDP 53 包时可以设置doh1并配合doh_providercloudflare所有查询通过 HTTPS 加密传输。代价是延迟略有增加。5. 日志与监控记录request_id和elapsed_ms当code ! 0或elapsed_ms 3000时触发告警。注意truncatedtrue时建议下次请求使用 DoH 以获得完整结果。6. 批量查询API 单次只接受一个域名。如果需要批量查询可以并发发送请求注意 QPS 限制 5 次/秒采用协程或线程池控制并发数。7. 响应 rcode 处理rcode0(NOERROR)正常rcode3(NXDOMAIN)域名不存在rcode2(SERVFAIL)服务器错误可重试rcode5(REFUSED)服务器拒绝建议根据rcode_text输出友好提示。参考文档DNS 查询 API 文档原始 Markdown 文档RFC 1035: Domain Names - Implementation and Specification

相关新闻

数据结构( 二叉树)

数据结构( 二叉树)

⚙️第一部分:Makefile 基本操作详解1.1 什么是 Makefile?Makefile 是一个自动化构建工具 make 的配置文件。它描述了项目中各个源文件之间的依赖关系,以及如何编译和链接生成最终的可执行文件。在大中型 C/C 项目中,手动输入 gcc…

2026/10/20 0:31:39 阅读更多 →
linux根文件系统是如何加载的

linux根文件系统是如何加载的

问题:内核在磁盘文件系统中,要加载内核,就必须先加载文件系统。但根文件系统又是被内核负责加载的,它是内核的启动参数,没有它,内核是无法启动的。到底先有鸡,还是先有蛋?机器是如何…

2026/10/19 21:33:32 阅读更多 →
Manus上下文工程:大模型能力释放的创新实践

Manus上下文工程:大模型能力释放的创新实践

1. Manus与上下文工程的创新结合Manus作为新一代AI工程平台,其核心突破在于将传统的大模型能力释放问题转化为可量化、可复制的上下文工程体系。这种思路转变直接解决了当前大模型应用中的三个关键痛点:响应不可控、知识碎片化和任务连贯性差。我在实际企…

2026/10/18 12:34:30 阅读更多 →

最新新闻

EfficientNetV2架构深度解析:tf_efficientnetv2_b3.in1k为何能又快又小?

EfficientNetV2架构深度解析:tf_efficientnetv2_b3.in1k为何能又快又小?

【免费下载链接】tf_efficientnetv2_b3.in1k 项目地址: https://ai.gitcode.com/hf_mirrors/timm/tf_efficientnetv2_b3.in1k 点击查看 免费下载 本文以开源预训练模型 tf_efficientnetv2_b3.in1k 为例,带你快速看懂这个图像分类模型:它仅用…

2026/10/20 2:01:14 阅读更多 →
GhostTrack:IP归属、号码归属与用户名注册速查——不用开浏览器

GhostTrack:IP归属、号码归属与用户名注册速查——不用开浏览器

GhostTrack:IP归属、号码归属与用户名注册速查——不用开浏览器 【免费下载链接】GhostTrack Useful tool to track location or mobile number 项目地址: https://gitcode.com/GitHub_Trending/gh/GhostTrack GhostTrack 是一个 Python 编写的 OSINT 脚本&a…

2026/10/20 2:01:14 阅读更多 →
Linux内核6.x学习路线:从环境搭建到调试进阶的专栏指南

Linux内核6.x学习路线:从环境搭建到调试进阶的专栏指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:01:14 阅读更多 →
树莓派与Arduino选型指南:打破裸机/系统二分法

树莓派与Arduino选型指南:打破裸机/系统二分法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:01:14 阅读更多 →
Linux显示驱动调试工具链:从DRM/KMS到PHY寄存器的全栈诊断

Linux显示驱动调试工具链:从DRM/KMS到PHY寄存器的全栈诊断

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:01:14 阅读更多 →
Unity代码热更新实战:ILRuntime集成Addressable的完整方案与避坑指南

Unity代码热更新实战:ILRuntime集成Addressable的完整方案与避坑指南

做Unity客户端这些年,只要是做手游的,基本绕不开热更新这个话题。资源热更还好说,AssetBundle或者Addressable都能解决,真正麻烦的是代码热更。以前用Lua,好是好,但团队要养Lua程序员,C#的代码也…

2026/10/20 2:00:13 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →