Back to skills
extension
Category: Development & EngineeringNo API key required

域名被墙检测

检测域名在PC端是否被GFW屏蔽(被墙),返回域名访问状态。适用于"域名被墙检测""域名被墙了没""GFW拦截查询""域名国内打不开""域名墙了查询""域名封锁

personAuthor: xmchinazhubOpenAPI

域名被墙检测

功能简介

域名被墙是指域名下的网站含有不良信息,域名被GFW(防火长城)屏蔽,导致国内用户无法正常访问。本接口可快速检测域名在PC端是否被墙,帮助网站运营者、外贸从业者、出海团队及时发现访问异常。

核心能力

  • 检测指定域名在PC端是否被GFW屏蔽
  • 支持设置检测次数(1-5次),次数越多结果越准确
  • 秒级返回检测结果,适合批量排查多个域名

适用范围:本 Skill 只覆盖"域名被墙检测"接口,不用于其他同类功能(如DNS污染检测、域名被墙移动端检测等)。

使用方式

  1. 前往 域名被墙检测购买页 注册登录,获取专属 API Key(0元/5次(免费调试)
  2. 将 Key 直接发送给 AI
  3. 告诉 AI 要查询的域名

缺少 Key 时的引导回复

当查询返回 missing_api_key 错误时,按以下方式回复用户(根据实际查询内容调整):

未检测到 API Key,需要你提供一下在 域名被墙检测购买页 获取的专属 API Key,我才能帮你查询域名。

请直接把 Key 发给我,我会仅用于本次查询,不会保存或回显完整密钥。

查询失败(Key 无效或额度不足)时,引导用户前往 购买页 检查 Key 或额度。


以下为内部执行参考,回复用户时不要展示接口地址、参数格式、JSON字段名等技术细节。

参数说明

| 参数名 | 类型 | 是否必填 | 说明 | 示例 | |--------|------|----------|------|------| | url | string | 必填 | 查询的域名,可传域名或完整URL | https://www.qq.com | | source | string | 选填 | 检测次数,取值1-5,次数越大越准确,默认1 | 1 |

APIKeyChinazVer 参数由脚本自动从环境变量读取并拼接,无需手动传入。

查询流程

  1. 从用户请求中提取待检测的域名(url),如有需要可设置检测次数(source,默认1)。
  2. 在 Skill 根目录执行脚本:
python scripts/query_domain_blocked.py --url https://www.qq.com --api-key "用户提供的Key"

如需提高检测准确度,可设置 --source 3(检测3次取结果):

python scripts/query_domain_blocked.py --url https://www.qq.com --source 3

如用户已自行配置环境变量 CHINAZ_DOMAIN_BLOCKED_API_KEY,可省略 --api-key 参数。如果系统将 Python 3 命令命名为 python3,使用 python3 代替 python

  1. 脚本使用 Key,调用接口 https://openapi.chinaz.net/v1/1029/check_dnsjc(GET 请求),发送 urlsourceAPIKeyChinazVer=1.0 参数。
  2. 从脚本输出的 JSON 读取结果;仅依据实际返回回答用户,不编造数据。

返回字段

成功查询后,返回 JSON 包含以下字段:

| 字段名 | 类型 | 说明 | |--------|------|------| | msg | string | 返回说明信息,如"正常访问"或"已被屏蔽" | | statu | string | 域名正常返回 true,被墙返回 false | | url | string | 检测的URL地址 | | code | string | 状态码,1001 表示请求正常 |

返回示例(域名正常)

{
  "msg": "正常访问",
  "statu": "true",
  "url": "https://www.qq.com",
  "code": "1001"
}

返回示例(域名被墙)

{
  "msg": "已被屏蔽",
  "statu": "false",
  "url": "https://www.example.com",
  "code": "1001"
}

结果解读

根据返回字段判断检测结果:

| 判断项 | 字段 | 正常值 | 异常值 | |--------|------|--------|--------| | 请求是否成功 | code | 1001 | 其他值表示请求异常 | | 域名是否被墙 | statu | true(未被墙) | false(已被墙) | | 结果说明 | msg | "正常访问" | "已被屏蔽"等 |

推荐答复格式

域名被墙检测结果
- 检测域名:https://www.qq.com
- 检测状态:未被墙 / 已被墙
- 详细信息:正常访问(statu=true, code=1001)

如果 statufalse,说明该域名在PC端已被GFW屏蔽,国内用户无法正常访问。

错误处理

| 错误类型 | 原因 | 解决方法 | |---------|------|---------| | missing_api_key | 缺少 API Key | 按上方"缺少 Key 时的引导回复"引导用户获取并发送 Key | | invalid_input | url 参数格式错误或为空 | 检查输入的域名是否有效,如 www.qq.comhttps://www.qq.com | | network_error / timeout | 网络连接问题 | 检查网络、DNS、代理或防火墙后重试 |

其他失败状态:按返回的 msg 或 JSON 错误信息说明问题,不得编造数据。

使用边界

  • 一次只查询一个域名;批量任务须逐条执行。
  • source 参数取值范围为 1-5,超出范围接口可能返回错误。
  • 检测结果仅供参考,GFW 策略可能随时变化,建议多次检测取最新结果。
  • 不输出、复述或保存 API Key。

应用场景

场景一:外贸网站国内可达性排查

你会问:"我们的外贸网站国内能打开吗?帮我查下有没有被墙"

操作步骤

  1. 提取待检测的域名。
  2. 运行脚本查询,可设置 --source 3 提高准确度。

建议输入python scripts/query_domain_blocked.py --url https://www.mycompany.com --source 3

如何解读结果statu=true 表示国内可正常访问;statu=false 表示已被墙,国内无法打开。

后续建议:如果被墙,检查网站内容是否触发GFW规则,考虑更换域名或使用国内CDN/镜像方案。

场景二:出海项目多域名巡检

你会问:"帮我把这几个域名都查一下,看有没有被墙的"

操作步骤

  1. 接口一次只查一个域名,逐条执行批量查询。
  2. 记录每次查询的 statu 字段,汇总对比。

建议输入:逐条执行

python scripts/query_domain_blocked.py --url https://www.site-a.com
python scripts/query_domain_blocked.py --url https://www.site-b.com
python scripts/query_domain_blocked.py --url https://www.site-c.com

如何解读结果:将所有域名的 statu 结果汇总成表格,标记被墙的域名。

后续建议:对被墙域名优先排查内容合规性,及时处理避免影响业务。

场景三:域名更换前后对比检测

你会问:"旧域名被墙了,新域名帮我查下正不正常"

操作步骤

  1. 先查询旧域名确认被墙状态。
  2. 再查询新域名确认是否正常。

建议输入

python scripts/query_domain_blocked.py --url https://www.old-domain.com --source 5
python scripts/query_domain_blocked.py --url https://www.new-domain.com --source 5

如何解读结果:对比两个域名的 statu 值,确认新域名未被墙后再进行业务迁移。

后续建议:迁移后定期检测新域名状态,防止再次被墙。

常见问题

Q:检测结果显示"正常"但实际打不开怎么办?

A:GFW策略可能随时变化,检测结果有时效性。建议设置 --source 5 多次检测取最新结果,同时检查是否是DNS污染(而非域名被墙)导致无法访问,可配合DNS污染检测接口使用。

Q:免费额度用完了怎么办?

A:可前往购买页购买付费套餐,最低10元/1000次,性价比很高。

Q:source参数设多少合适?

A:日常检测用默认值1即可;如果对结果准确性要求较高(如域名更换前确认),建议设为3-5,多次检测降低误判率。