# 错误说明

移动产品的错误信封与住宅一致——HTTP 状态码 + `X-Helodata-Error-Code`。完整代码表见 [住宅错误说明](/helodata-zh/chan-pin/overview/error-definitions.md)。本页列移动特有代码。

## 移动特有网关代码

| 状态码   | `X-Helodata-Error-Code` | 含义                                | 处理                                              |
| ----- | ----------------------- | --------------------------------- | ----------------------------------------------- |
| `403` | `kyc-required`          | 账号未完成 KYC                         | 见 [KYC](/helodata-zh/zhang-hu-yu-ji-fei/kyc.md) |
| `400` | `sesstime-out-of-range` | TTL > 60（移动上限）                    | 减小 `sesstime`                                   |
| `502` | `carrier-blackout`      | 指定 ASN 运营商出现整网故障                  | 切换 ASN 或 5 分钟后重试                                |
| `502` | `pool-empty-mobile`     | 无匹配移动 IP（通常因 state+city+ASN 过度约束） | 先去 `city`，再去 `state`                            |
| `522` | `device-offline`        | 选中的设备在请求中途掉线                      | 重试，网关会自动换一个设备                                   |

## 更多次重试 + 退避

移动设备来去自由，瞬时错误率约为住宅的 2–3 倍。合理的重试策略：

```python
RETRYABLE_GATEWAY = {429, 502, 522, 524}
MAX_RETRIES = 5

import time, random
def request_with_retry(fn):
    for attempt in range(MAX_RETRIES):
        r = fn()
        if r.status_code not in RETRYABLE_GATEWAY:
            return r
        time.sleep(2 ** attempt + random.random())   # 指数退避 + jitter
    return r                                          # 最后一次响应
```

## 目标层错误

直通透传，同住宅。请始终检查 `X-Helodata-Exit-IP`——若它与目标的 `403` 同时出现，说明拒绝来自**目标**而非 helodata。

## 运营商限流

移动运营商对自己的 IP 会限流。目标的 `429` 若不带 `X-Helodata-Error-Code`，多半是该 IP 触发了运营商限流。请换 ASN、扩大会话多样性、或降低单 IP 速率。

## 相关

* [住宅错误说明](/helodata-zh/chan-pin/overview/error-definitions.md) — 完整代码表
* [407](/helodata-zh/gu-zhang-pai-cha/407.md) — 认证问题
* [522](/helodata-zh/gu-zhang-pai-cha/522.md) — 超时


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.helodata.com/helodata-zh/chan-pin/overview-1/error-definitions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
