🔥 火龙代理IP API 使用说明文档
最新版本登录网站查看
http://www.huolongip.cn/UserCenter/API_Documentation
完整的代理IP接口文档 - 快速上手,简单易用
📋 目录导航
📌 接口概览
基础URL
http://API域名:端口/Tools/proxyIP.ashx
接口列表
| 接口 | 方法 | 说明 |
|---|---|---|
action=GetIP | GET | 提取代理IP |
action=AddWhitelist | GET | 添加白名单 |
action=DELWHITEIP | GET | 删除白名单 |
action=Getwhitelist | GET | 读取白名单 |
action=GetINF | GET | 查询剩余量 |
🎯 提取代理IP API
接口地址
GET /Tools/proxyIP.ashx?action=GetIP
请求参数说明
| 参数名称 | 类型 | 必需 | 默认值 | 参数说明 | 参数值示例 |
|---|---|---|---|---|---|
ordernumber | string | 是 | - | 订单号,下单系统自动生成 | 订单号 |
sign | string | 是 | - | 签名验证,提取 IP、添加白名单、删除白名单、读取白名单、查询剩余量这 5 个 API 都需要,计算公式:md5(ordernumber + 签名密钥)。签名密钥由平台单独提供,不在公开文档展示。 | 32位小写MD5,或直接复制后台生成的API |
PoolIndex | string | 否 | 自动识别的公网IP或订单号 | IP池指针,提取IP在IP池内的起始位置。多台机器公用一个API时,可用来错开提取位置。 | 56601 |
poolnumber | string | 否 | -1 | IP池编号,同档次的套餐不同IP池自由切换 | 1 或 2 或 2,3,5 |
qty | int | 否 | 1 | 提取数量,大于0的整数。业务上建议小于200。 | 20 |
IPSource | string | 否 | - | IP池子名称,根据此名称选择同一个池子的IP | sslhttps5 |
cache | int | 否 | 1 | 控制提取间隔模式开关 | 0=提示太快了,-1=返回空白,1=缓冲输出重复上一次提取的 |
cachetimems | int | 否 | 0 | 控制提取间隔的时间(毫秒)。此参数只在业务允许IP重复使用的情况下使用。 | 5000 |
action | string | 否 | GetIP | API的操作命令 | GetIP=提取代理IP。此参数不传时系统默认按GetIP处理。 |
isp | string | 否 | - | 选择网络运营商 | 电信、铁通、移动、联通、不包含移动 |
Port | string | 否 | - | 端口位数或端口号选择 | 4、5、8080 |
Whitelist / IP | string | 否 | - | 白名单列表。提取IP时可顺带提交白名单;若不传,系统自动识别当前请求公网IP。兼容旧参数 IP。 | 77.77.77.77 或 77.77.77.77|77.77.77.78 |
Address | string | 否 | - | 根据地区名称或地区代码提取IP | 广东省、不包含广东、国内、国外 |
ExpectedIPtime | int | 否 | - | 时长筛选,期望提取到的IP的生命时间要求(秒) | 3600 |
IPSegment | string | 否 | - | IP网段筛选 | 140 |
RangeNumber | int | 否 | - | 将IP分组输出,分组的组编号 | 2 |
UserName | string | 否 | - | 账号密码验证方式的账号信息 | username |
UserPwd | string | 否 | - | 账号密码验证方式的密码信息 | password |
Split | string | 否 | JSON | 设置提取IP返回的分割方式或文本格式 | \t、\n、|、任意字符串、JSON、JSON2 |
AuthMode | int | 否 | 0 | 账号密码验证文本格式设置(非JSON格式时生效) | 0=IP:端口,1=IP:端口,用户名:密码,2=用户名:密码@IP:端口,3=http://用户名:密码@IP:端口 |
请求示例
1. 基础请求(JSON格式)
GET /Tools/proxyIP.ashx?action=GetIP&ordernumber=订单号&sign={sign}&qty=20&Split=JSON2. 带地区和运营商筛选
GET /Tools/proxyIP.ashx?action=GetIP&ordernumber=订单号&sign={sign}&qty=10&Address=广东省&isp=电信&Split=JSON3. 提取时提交白名单
GET /Tools/proxyIP.ashx?action=GetIP&ordernumber=订单号&sign={sign}&qty=10&Whitelist=您的外网IP&Split=JSON响应格式说明
JSON格式(Split=JSON)
{
"Code": 0,
"Success": true,
"Message": "成功",
"LeftTime": "86400",
"QTY": 2,
"LeftIp": "4980",
"Data": [
{
"Ip": "192.168.1.1",
"Port": 8080,
"ISP": "电信",
"FullAddress": "广东省深圳市",
"Remarks": "",
"IPPassword": null,
"IPUserName": null,
"IPlifetime": "2024-12-31 23:59:59"
}
]
}JSON2格式(Split=JSON2)
{
"status": 200,
"msg": "成功",
"leftTime": "86400",
"leftIp": "4980",
"QTY": 2,
"data": [
{
"ip": "192.168.1.1",
"port": "8080",
"city": "广东省深圳市",
"isp": "电信",
"expire": "2024/12/31 23:59:59",
"outip": ""
}
]
}JSON3格式(Split=JSON3)
{
"success": true,
"data": [
{
"ip": "192.168.1.1",
"port": 8080,
"country": "中国",
"fullAddress": "广东省深圳市",
"proxyType": "HTTP",
"speed": 100,
"anonymousType": "高匿",
"expireTime": "2024-12-31 23:59:59",
"userName": "",
"password": "",
"expiresIn": 86400
}
]
}JSON4格式(Split=JSON4)
{
"success": true,
"count": 2,
"list": [
{
"IP": "192.168.1.1",
"Port": 8080,
"ExpireTime": "2024-12-31 23:59:59",
"Area": "广东省深圳市",
"Auth": "false"
}
]
}文本格式(Split=\n)
192.168.1.1:8080 192.168.1.2:8080
文本格式带认证(AuthMode=1)
192.168.1.1:8080,username,password 192.168.1.2:8080,username,password
错误响应说明
完整错误代码表
| 分类 | 错误码 | 错误信息 | 说明 |
|---|---|---|---|
| 通用 | 0 | 成功 | 请求成功 |
| 通用 | 1 | 网络故障 | 网络连接问题 |
| 通用 | 2 | 请联系客服处理 | 需要人工处理 |
| 通用 | 3 | 未定义 | 未定义的错误 |
| 通用 | 4 | 必要参数缺失 | 缺少必要的请求参数 |
| 通用 | 5 | 用户异常操作提示 | 用户操作异常 |
| 通用 | 6 | 数据库操作异常 | 数据库错误 |
| 通用 | 7 | 缓存异常 | Redis缓存错误 |
| 代理IP API常规 | 101 | API不正确 | API路径或参数错误 |
| 代理IP API常规 | 102 | 提取间隔太快 | 请求频率过高 |
| 代理IP API常规 | 103 | 代理商操作API不在指定的IP | IP白名单验证失败 |
| 白名单 | 2040 | 一次添加IP数量超限 | 单次添加的白名单IP数量超过限制 |
| 白名单 | 2041 | 相同白名单添加频率过快 | 重复添加相同白名单频率太高 |
| 白名单 | 2042 | 添加白名单太频繁 | 添加白名单操作过于频繁 |
| 白名单 | 2043 | 不在白名单列表 | 请求IP不在白名单中 |
| 白名单 | 2044 | 已经在白名单列表中 | 白名单已存在 |
| 白名单 | 2045 | 白名单的数量超出 | 白名单总数超过限制 |
| 白名单 | 2046 | 白名单添加异常 | 添加白名单时发生错误 |
| 白名单 | 2047 | 白名单列表空 | 白名单列表为空 |
| 授权安全 | 201 | 授权失败 | 签名验证或授权失败 |
| 授权安全 | 202 | 账号或者密码不合法 | 账号密码格式错误 |
| 授权安全 | 203 | 用户未找到 | 订单号或用户不存在 |
| 授权安全 | 207 | IP封锁 | 访问IP已被封锁 |
| 授权安全 | 208 | 逻辑不对 | 业务逻辑错误 |
| 授权安全 | 209 | 用户未实名 | 用户未完成实名认证 |
| 授权安全 | 210 | 用户未登录 | 需要登录后操作 |
| 授权安全 | 211 | 权限非法 | 没有操作权限 |
| IP池相关 | 301 | 查询地区不存在 | 指定的地区不存在 |
| IP池相关 | 302 | 混拨Z池暂时没IP | Z供应商故障,请联系管理员 |
| IP池相关 | 303 | 混拨A池暂时没IP | A货源供应商故障,请联系管理员 |
| IP池相关 | 304 | IP不足或者筛选条件过多 | 池子没有IP或提取参数不对 |
| IP池相关 | 305 | 请求格式不正确 | 请求参数格式错误 |
| IP池相关 | 306 | 数量用完 | 订单IP数量已用完 |
| IP池相关 | 307 | 混拨C池暂时没IP | 通用API转发故障,请联系管理员 |
| IP池相关 | 308 | 混拨S池暂时没IP | 自己搭建的池子暂时没IP |
| IP池相关 | 309 | IP暂时供应不上 | IP供应暂时不足 |
| IP池相关 | 310 | 和上一次提取全部重复 | 提取的IP与上次完全重复 |
| IP池相关 | 311 | 参数无效 | 请求参数无效 |
| IP池相关 | 312 | IP不足 | 可用IP数量不足 |
| IP池相关 | 313 | 提取IP发生未知异常 | 提取IP时发生未知错误 |
| 订单 | 801 | 订单过期 | 订单已超过有效期 |
| 订单 | 802 | 订单不存在 | 订单号不存在 |
| 订单 | 809 | 余额不足 | 账户余额不足 |
| 订单 | 810 | 流量不足 | 流量套餐已用完 |
| 订单 | 811 | 积分不足 | 积分不足 |
| 订单 | 812 | 订单超额 | 订单数量已超额 |
| 订单 | 813 | 提取而不使用的IP数量太多 | 浪费IP数量过多 |
| 转发模式 | 600 | 端口未开放 | 转发端口未开放 |
| 限流 | 429 | 请求过于频繁,请稍后重试 | 超过每分钟10000次请求限制 |
常见错误响应示例
成功响应(JSON格式)
{
"Code": 0,
"Success": true,
"Message": "成功",
"LeftTime": "86400",
"QTY": 2,
"LeftIp": "4980",
"Data": [...]
}IP不足或筛选条件过多
{
"Code": 304,
"Success": false,
"Message": "IP不足或者筛选条件过多",
"LeftTime": "0",
"QTY": 0,
"LeftIp": "",
"Data": []
}订单不存在
{
"Code": 802,
"Success": false,
"Message": "订单不存在",
"LeftTime": "0",
"QTY": 0,
"LeftIp": "",
"Data": []
}订单已过期
{
"Code": 801,
"Success": false,
"Message": "订单过期",
"LeftTime": "0",
"QTY": 0,
"LeftIp": "",
"Data": []
}数量用完
{
"Code": 306,
"Success": false,
"Message": "数量用完",
"LeftTime": "0",
"QTY": 0,
"LeftIp": "",
"Data": []
}请求过于频繁
{
"Code": 429,
"Success": false,
"Message": "请求过于频繁,请稍后重试",
"LeftTime": "60",
"QTY": 0,
"LeftIp": "",
"Data": []
}� 白名单管理 API
📌 签名说明:根据当前后端代码,提取 IP、添加白名单、删除白名单、读取白名单、查询剩余量这 5 个 API 都需要校验 sign。
请求参数
| 操作 | action | 请求示例 | 参数说明 | 备注 |
|---|---|---|---|---|
| 添加白名单 | AddWhitelist | /Tools/proxyIP.ashx?action=AddWhitelist&ordernumber=订单号&sign={sign}&qty=1&IP=您的外网IP/Tools/proxyIP.ashx?action=AddWhitelist&ordernumber=订单号&sign={sign}&qty=1&IP=外网IP1|外网IP2|外网IP3/Tools/proxyIP.ashx?action=AddWhitelist&ordernumber=订单号&sign={sign}&qty=1 | ordernumber:订单号。IP:要添加的公网 IP,多个 IP 用 | 分隔。也可使用 Whitelist 参数。 | 正常提取 IP 时可通过提取 IP API 自动完成白名单授权。提取 IP 和使用 IP 不一致,或系统不能正确识别公网 IP 时,才需要单独添加。IP 为空时系统会使用自动识别到的当前公网 IP。 |
| 删除白名单 | DELWHITEIP | /Tools/proxyIP.ashx?action=DELWHITEIP&ordernumber=订单号&sign={sign}&qty=1&IP=192.168.1.1/Tools/proxyIP.ashx?action=DELWHITEIP&ordernumber=订单号&sign={sign}&qty=1&IP=ALL | ordernumber:订单号。IP:要删除的白名单 IP;传 ALL 表示清空白名单。 | 可以一次删除一个白名单,也可以一次清空白名单。 |
| 读取白名单 | Getwhitelist | /Tools/proxyIP.ashx?action=Getwhitelist&ordernumber=订单号&sign={sign}&qty=1 | ordernumber:订单号。 | 返回当前订单白名单信息,返回格式以接口实际响应为准。 |
添加白名单示例
GET /Tools/proxyIP.ashx?action=AddWhitelist&ordernumber=订单号&sign={sign}&qty=1&IP=120.239.199.175删除白名单示例
GET /Tools/proxyIP.ashx?action=DELWHITEIP&ordernumber=订单号&sign={sign}&qty=1&IP=192.168.1.1读取白名单示例
GET /Tools/proxyIP.ashx?action=Getwhitelist&ordernumber=订单号&sign={sign}&qty=1📌 保持活跃:系统会检测不活动的白名单并自动删除,如需保持白名单长期有效,建议约每 3 分钟提交一次。
📊 查询剩余量 API
📌 签名说明:查询剩余量接口同样需要 sign,计算方式为 md5(ordernumber + 签名密钥)。
请求示例
GET /Tools/proxyIP.ashx?action=GetINF&ordernumber=订单号&sign={sign}&qty=1参数说明
| 参数名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
action | string | 是 | GetINF,查询订单剩余量。 |
ordernumber | string | 是 | 订单号。 |
sign | string | 是 | 签名值,md5(ordernumber + 签名密钥)。 |
qty | int | 否 | 兼容旧调用,一般传 1。 |
🔐 签名计算示例
JavaScript
const crypto = require('crypto');
const ordernumber = '订单号';
const signKey = '你的签名密钥';
const sign = crypto.createHash('md5').update(ordernumber + signKey).digest('hex');
console.log(sign);Python
import hashlib
ordernumber = '订单号'
sign_key = '你的签名密钥'
sign = hashlib.md5((ordernumber + sign_key).encode('utf-8')).hexdigest()
print(sign)PHP
$ordernumber = '订单号'; $signKey = '你的签名密钥'; $sign = md5($ordernumber . $signKey); echo $sign;
⚡ 性能说明
请求频率限制:每个订单号每分钟最多1500次请求,超限制防火墙拉黑
请求超时:10秒超时
响应快:提取IP响应小于100ms
支持多机器:支持多机器同时提取
⚠️ 注意事项
📌 签名必需:提取 IP、添加白名单、删除白名单、读取白名单、查询剩余量这 5 个 API 都需要正确的 sign 参数
📌 订单验证:确保订单有效且未过期
IP池选择:根据实际需求选择合适的IP池
缓存使用:不限量套餐缓存输出,实现一直能提取到IP
错误处理:遇到304错误时请稍后重试或调整筛选条件
💬 技术支持
如有问题请联系:QQ 374417086
📄 文档版本:v1.0 | 📅 更新日期:2024年


