顶部宣传横幅
Quick Start

快速入门

从注册账号到成功使用代理 IP,只需要几步即可完成。

  1. 注册山竹账号 进入山竹官网,点击右上角「注册」。
    填写:邮箱 / 手机号 → 密码 → 验证信息。
    完成注册后登录山竹控制台。
    官网注册入口官网注册入口
    填写注册信息填写注册信息
  2. 实名认证 完善实名信息,可选择个人实名企业实名。实名认证是提取代理 IP 的前置条件。
    个人实名个人实名
    企业实名企业实名
  3. 选择产品 根据业务需求选择产品,例如动态短效 IP(详见「产品文档」)。
    选择产品选择产品
  4. 选择计费方式 山竹代理共有两种计费方式:余额充值(按量扣费)与包时套餐(时段内使用)。
    选择计费方式选择计费方式
  5. 获取代理 根据不同业务需求,按需配置筛选条件(地区、运营商、协议、数量、时效等),生成提取链接即可获取代理 IP;接入方法见「API文档」。
    配置筛选条件获取代理按需配置筛选条件

核心概念

🔑
key 密钥
在控制台「API 链接获取」页面生成的专属密钥,用于客户 API(余额、白名单等)的身份校验。
🔗
提取链接
携带套餐、数量、地区等参数的 URL,访问后即返回一批代理 IP。
🛡️
IP 白名单
允许调用提取接口的出口 IP 集合,仅白名单内的机器可成功提取。

两种认证方式

方式使用场景传递方式
登录态(session-id)控制台页面内的接口:生成提取链接、控制台白名单管理请求头 session-id: 你的会话Token
key 密钥(URL 参数)程序直接调用的客户 API:余额查询、白名单增删、在用/历史白名单URL 查询参数 key=xxx
Products

产品文档

了解山竹代理 IP 的产品形态、核心能力,以及拿到 IP 后如何验证可用性。

动态短效 IP

动态短效 IP是山竹面向高频轮换业务推出的短时效代理产品:海量住宅 / 机房 IP 池,按分钟级时效自动更换,支持按省份、城市、运营商精准筛选,支持 HTTP / HTTPS / SOCKS5 三种协议。适合数据采集、舆情监测、SEO 分析、价格比对、账号运营等需要大量不同出口 IP 的场景。

1计费方式

计费方式说明适合场景
余额充值按提取的 IP 数量实时扣费,可自选 IP 时效用量波动大、想用多少付多少
包时套餐按套餐时长使用(时长 / 长效 / 不限量套餐),单次提取上限 400 个长期稳定业务、用量可预估

2获取方式

在控制台「提取」页面配置筛选条件后生成提取链接,程序访问该链接即可批量获取 IP:Port;也可通过 /get_ips 接口在代码中动态生成链接(见「API文档」)。

验证代理 IP 可用性

拿到提取接口返回的 IP:Port 后,建议先用下面任一方法验证代理是否可用、出口 IP 是否为代理 IP,再接入业务代码。

1命令行快速验证(推荐)

通过 curl 走代理访问公网 IP 回显服务,返回的 IP 等于代理 IP 即说明代理可用:

# HTTP 代理
curl -x http://ip:port http://ifconfig.me/ip

# SOCKS5 代理
curl -x socks5://ip:port http://ifconfig.me/ip

观察连接耗时与状态码:

curl -x http://ip:port -o /dev/null -s -w "HTTP状态码:%{http_code} 耗时:%{time_total}s\n" http://ifconfig.me/ip

2Python 脚本验证

import requests

proxies = {
    "http":  "http://ip:port",
    "https": "http://ip:port",
}
r = requests.get("http://ifconfig.me/ip", proxies=proxies, timeout=10)
print("代理出口 IP:", r.text.strip())   # 应等于代理 IP 本身

判定标准:请求成功且回显的出口 IP 与代理 IP 一致 → 代理可用;若返回你本机真实 IP,说明代理未生效。

3常见失败排查

现象原因与处理
连接被拒绝 / 超时检查端口与协议是否匹配(HTTP 用 http://,SOCKS5 用 socks5://);短效 IP 可能已过期,需重新提取。
提取时提示「白名单」错误调用方机器公网 IP 未在白名单内,先通过白名单接口添加当前出口 IP 再提取。
出口 IP 是本机 IP代理未生效,检查代理地址 / 端口 / 协议配置。
部分网站拒绝访问更换地区 / 运营商重新提取,或切换 HTTP / HTTPS / SOCKS5 协议。
API Reference

API文档

本产品对外开放的核心接口一览。完整调用链接均可在控制台「API 链接获取」页面一键生成。

通用说明

项目说明
Base URLhttp://wapi.shanzhuhttp.com/api(生产环境,可通过控制台确认)
编码UTF-8;POST 表单以 application/x-www-form-urlencoded 提交
频率限制2 秒一次(按请求来源 IP),超频提示「请在 N 秒后再次请求」
成功判定通用格式:ret = 0;客户 API 格式:code = 0 且 success = true

统一响应格式

大多数接口返回如下 JSON 结构(HTTP 200):

{
  "ret": 0,          // 0=成功;1=业务失败
  "code": 1,         // 业务错误码,见「错误代码说明」
  "msg": "ok",       // 提示信息,失败时描述具体原因
  "ret_data": { },    // 业务数据
  "timestamp": 1786794848
}

部分客户 API(如 add_whitelook_balance)使用另一种格式:{"code": 0, "success": true, "msg": "...", "data": ...},成功时 code = 0,失败时 code < 0

接口总览

1接口详情

接口方法功能
/api/look_balance?key=***GET余额查询:查询账户可用余额
/api/add_white?key=***&white=您的ip(多个IP请用英文逗号隔开)GET添加白名单 IP(单次最多 100 个)
/api/delete_white?key=***&white=您的ip(多个IP请用英文逗号隔开)GET删除白名单 IP(单次最多 1000 个)
/api/list_white?key=***GET查询在用白名单:查询当前生效的白名单列表
/api/history_white?key=***GET查询历史白名单:查询近 1000 条白名单记录

2调用步骤

  1. 点击对应项的获取链接按钮; 点击对应项的获取链接按钮
  2. 点击左侧菜单栏的API链接获取点击左侧菜单栏的API链接获取
  3. 使用页面上方 API 域名 + 获取到的链接,拼接后即可发起调用。 API域名拼接获取到的链接

使用提示

· 以上接口均通过 URL 参数 key 鉴权,完整调用链接可在控制台「API 链接获取」页面一键生成。

· 所有接口均有约 2 秒的调用频率限制,超出会提示「请在 N 秒后再次请求」。

· 批量删除或清空白名单:先调用在用白名单接口获取列表,再将目标 IP 用英文逗号拼接后调用删除接口。

Error Codes

错误代码说明

业务失败时(HTTP 仍为 200),根据接口类型在 code 或 msg 中返回错误信息。按类别列出常见错误码、响应示例与对应场景。

通用业务错误码

错误码响应 body(关键字段)出现场景
ret=1, code=-1{"ret":1,"code":-1,"msg":"请先到个人中心完成实名认证","ret_data":""}最通用的业务失败:未实名认证、IP 格式不正确、套餐余量不足、请求频率限制(msg 提示具体原因,如「请在 N 秒后再次请求」)
ret=1, code=-2{"ret":1,"code":-2,"msg":"每次提取数量不可超过400","ret_data":""}提取数量超限、套餐不存在、机器仍在部署等提取业务错误
code=1001{"ret":1,"code":1001,"msg":"请先到个人中心完成实名认证","ret_data":""}未实名认证即提取 IP(提取接口的前置校验)
code=1101 / -1101——登录会话过期 / Token 失效。客户端应清空本地会话并引导用户重新登录
code=-1, success=false{"code":-1,"success":false,"msg":"key信息异常"}客户 API(add_white 等):key 密钥错误 / 不存在、IP 不合法、白名单数量超限等

提取接口错误码(访问提取链接时返回)

访问 get_ips 生成的链接后,响应中的 code 字段为提取结果状态。开发者应据此实现重试与告警。

0提取成功(data 为 IP 列表)
-1key 密钥异常
111请求频率过快,请 2 秒后再试 —— 触发频率限制,应控制请求间隔
112所选时段异常 / 时间配置错误 —— 检查时效参数
113客户端 IP 未添加白名单,请添加白名单后重试 —— 最常见错误,先调用 add_white
114账户余额不足,无法提取 —— 及时充值,可配合 look_balance 提前预警
115暂无可用 IP 资源,请重新提取 —— 可稍后重试或更换地区
116提取密钥异常,key 不合法或不存在
117套餐参数错误、套餐不存在或白名单异常 —— 检查 package_id 与白名单
118白名单不匹配或代理商账号无法使用
119您的该套餐已经过期 —— 及时续费
120您的帐号属于代理商,无法使用该功能
121今日套餐可用次数已用完
123已达到账户每日消费上限 —— 控制单日提取量

HTTP 状态码

状态码说明
200请求成功(业务结果以 body 内 code / ret 为准)
400请求参数错误(框架级)
404接口不存在,body 返回 {"ret":404,"code":1,"msg":"page not exists!","ret_data":""}
500服务内部错误(框架级)
Best Practices

开发建议

面向接入方工程师的实践经验,帮助业务跑得更稳、更省、更安全。

白名单管理

  • 部署环境公网 IP 固定时,建议锁定该白名单记录(white_lock),避免被自动清理。
  • 公网 IP 会变化的场景(如家庭宽带),建议每次提取前自动添加当前出口 IP,或用定时任务刷新白名单。
  • 批量操作注意单次上限:添加 100 个 / 删除 1000 个,超出请分批。

请求频率与限流

  • 白名单 / 余额接口按来源 IP 限频约 2 秒一次,程序需控制调用间隔,否则会收到「请在 N 秒后再次请求」。
  • 提取链接的访问同样有频率限制(错误码 111),建议按业务需要设置重试退避。

余额与用量监控

  • 定时调用 look_balance,余额低于阈值时告警,避免余额不足导致提取中断(错误码 114)。
  • 关注单日消费上限(错误码 123),在控制台合理设置每日消费额度。

安全与合规

  • key 等同于账户凭证,务必保密:不要提交到代码仓库、不要在前端明文暴露;建议使用环境变量 / 密钥管理服务。
  • 所有接口使用 HTTPS 调用,避免密钥在传输中被窃取。
  • 代理 IP 仅用于合法业务场景,遵守目标网站的 robots 协议与当地法律法规。
  • 对返回的 msg 做脱敏处理后再展示给终端用户,避免泄露内部信息。

健壮性建议

  • 为提取、白名单等接口设置超时与重试(建议指数退避),对 111 / 115 等可重试错误自动重试。
  • 短效 IP 有效期内可复用,优先做连接复用以提升性能。
  • 记录提取日志(数量、地区、耗时、失败原因),便于统计与排障。