快速开始:5 分钟接入提取接口
接入流程只有两个关键点:订单号(OrderNumber)和提取接口地址。下面按顺序走一遍,每一步都有可以直接复制的命令;跑不通时对照 状态码对照表 就能定位原因。
第一步:拿到订单号
登录会员中心,进入「我的订单」,订单列表里的订单号就是 OrderNumber(32 位字符串)。一个订单号代表一条线路资源,提取、白名单等所有接口都用它鉴权,请勿对外泄露。
第二步:浏览器里先验证一次
把 你的订单号 替换后直接粘进浏览器地址栏:
http://api.xydaili.net:2022/tools/ip.ashx?action=GetIP&OrderNumber=你的订单号&protocol=1&qty=1&split=json
返回内容形如:
{"status":200,"msg":"成功","QTY":1,"leftTime":"...","leftIp":"...","data":[{"ip":"113.75.1.20","port":"51008","city":"南京","isp":"电信","expire":"2026-09-26T09:39:53","outip":"","userName":"","pwd":""}]}
看到 status":200 就说明订单和接口都正常,data 里就是可用的代理。把 split 换成 text 或留空,则返回纯文本 ip:port 一行一条。
第三步:写进程序
Python(requests)
import requests
ORDER = "你的订单号"
API = ("http://api.xydaili.net:2022/tools/ip.ashx"
"?action=GetIP&protocol=1&qty=1&split=json&OrderNumber=" + ORDER)
def get_proxy():
r = requests.get(API, timeout=10).json()
if r.get("status") != 200 or not r.get("data"):
raise RuntimeError("提取失败: " + str(r.get("msg")))
item = r["data"][0]
return "http://%s:%s" % (item["ip"], item["port"])
proxy = get_proxy()
resp = requests.get("http://目标站点/", proxies={"http": proxy, "https": proxy}, timeout=15)
print(resp.status_code, proxy)
建议每个请求或每几十个请求重新取一次代理(qty 设成 5~20 批量取,减少接口调用)。需要同一出口连续请求时,用 Cache=1&Cachetimems=60000 让一分钟内取到同一批 IP。
curl
curl -x "http://113.75.1.20:51008" -I "http://目标站点/" -m 15
第四步:配置白名单(可选,但推荐)
如果你的服务器出口 IP 固定,把出口 IP 加进白名单后,请求代理时就不需要账号密码,稳定性更好:
http://api.xydaili.net:2022/tools/ip.ashx?action=addwhite&OrderNumber=你的订单号&ip=你的公网出口IP
添加、查询、删除的完整说明见 白名单接口。
第五步:上线前检查清单
- 超时与重试:单次请求超时设 10~20 秒,失败后换 IP 重试 2~3 次,别零间隔硬撞。
- 单 IP 频率:同一 IP 每秒请求数控制在 3 次以内,比堆并发更不容易触发封禁。
- 提取频率:接口有频率限制,批量取(
qty)比循环单条取更稳;出现status=406说明取太快了。 - 订单号保密:订单号等同于凭证,不要写进前端 JS 或公开仓库。
- 监控:用
action=isiplive做探活(返回ok),用action=ipinfo看线路 IP 池容量。
下一步
- 提取接口参数详解:qty、Area、Isp、split、Cache、bufferTime 全参数说明
- 代理配置示例:Python、Scrapy、curl、Postman、环境变量的写法
- 常见问题:返回空、连不上、白名单满、用量怎么算
- 套餐与价格:按业务量选计量 / 流量 / 包时 / 不限量
先用试用订单跑通接入流程,再决定买哪种套餐。