# DNSPod API常见错误处理 ## 错误码说明 ### 认证相关 #### AuthFailure **错误:** 签名验证失败 **原因:** - SecretId或SecretKey错误 - 签名算法错误 - 请求时间戳偏差过大 **解决方案:** 1. 检查环境变量 `TENCENT_SECRET_ID` 和 `TENCENT_SECRET_KEY` 2. 确认密钥未过期且状态正常 3. 检查系统时间是否准确(误差不超过5分钟) #### AuthFailure.SecretIdNotFound **错误:** SecretId不存在 **原因:** - SecretId输入错误 - 密钥已被删除 **解决方案:** - 访问 https://console.cloud.tencent.com/cam/capi 重新获取 ### 域名相关 #### ResourceNotFound.Domain **错误:** 域名不存在 **原因:** - 域名未添加到DNSPod - 域名名称输入错误 **解决方案:** - 检查域名拼写 - 使用 `--create-domain` 自动创建域名 - 手动在DNSPod控制台添加域名 #### ResourceNotFound.DomainOffline **错误:** 域名已停用 **原因:** - 域名已被禁用 **解决方案:** - 登录DNSPod控制台重新启用域名 ### 记录相关 #### InvalidParameter.RecordAlreadyExists **错误:** 记录已存在 **原因:** - 相同的主机记录、类型、线路的记录已存在 **解决方案:** - 使用 `--force` 参数强制更新 - 先删除现有记录再创建 #### InvalidParameter.RecordNotFound **错误:** 记录不存在 **原因:** - RecordId错误 - 记录已被删除 **解决方案:** - 使用 `list_records.py` 查询正确的记录ID #### InvalidParameter.RecordValueInvalid **错误:** 记录值格式错误 **原因:** - IP地址格式错误 - CNAME目标域名格式错误 - 记录值与类型不匹配 **解决方案:** - A记录值必须是IPv4地址(如: 1.2.3.4) - CNAME记录值必须是域名(如: cdn.example.com) - MX记录值格式: `mx.example.com` (优先级单独设置) ### 限频相关 #### RequestLimitExceeded **错误:** 请求频率超限 **原因:** - API调用超过频率限制(默认: 20次/秒) **解决方案:** - 降低请求频率 - 批量操作时增加 `--delay` 参数 - 使用批量API代替循环调用 #### LimitExceeded.DomainRecord **错误:** 域名记录数超限 **原因:** - 该域名下的记录数超过套餐限制 **解决方案:** - 删除不需要的记录 - 升级DNSPod套餐 ### 参数相关 #### InvalidParameter **错误:** 参数错误 **原因:** - 必填参数缺失 - 参数格式错误 - 参数值超出范围 **解决方案:** - 检查命令行参数拼写 - 确认参数值格式正确 - 查看API文档确认参数要求 #### MissingParameter **错误:** 缺少必填参数 **原因:** - 未提供必要的参数 **解决方案:** - 使用 `--help` 查看必填参数 - 补充完整的参数 ### 其他常见错误 #### UnknownParameter **错误:** 未知参数 **原因:** - 传递了不支持的参数 **解决方案:** - 检查参数名称拼写 - 确认API版本支持该参数 #### UnsupportedOperation **错误:** 不支持的操作 **原因:** - 当前套餐不支持该功能 - 域名状态不允许该操作 **解决方案:** - 升级DNSPod套餐 - 检查域名状态 ## 调试技巧 ### 1. 开启详细日志 在脚本中添加调试输出: ```python import logging logging.basicConfig(level=logging.DEBUG) ``` ### 2. 打印API响应 查看完整的API错误信息: ```python print(json.dumps(result, indent=2, ensure_ascii=False)) ``` ### 3. 验证参数 在调用API前打印参数: ```python print(f"参数: {params}") ``` ### 4. 测试连通性 检查网络连接: ```bash ping dnspod.tencentcloudapi.com curl -I https://dnspod.tencentcloudapi.com ``` ## 获取帮助 - **API文档:** https://cloud.tencent.com/document/product/1427/56152 - **错误码参考:** https://cloud.tencent.com/document/product/1427/56190 - **工单系统:** https://console.cloud.tencent.com/workorder - **技术支持:** 95716 (DNSPod技术热线)