API 作用
该接口用于获取基于隧道技术的代理IP地址和端口。均同时支持GET和POST请求。
提取请求接口地址
http://xxxx/api/getIp?type=&num=&pid=&cid=&orderId=&time=&sign=&dataType=&singleIp=
请求参数
参数名称 | 含义 | 是否必传 | 范围 |
---|---|---|---|
orderId | 需要绑定的订单号 | 是 | 后台获取 |
time | 时间戳和sign一起使用 | 是 | 时间戳 |
sign | 校验串 | 是 | 请参考下面API密钥生成 |
num | 提取数量 | 是 | 1-200 |
type | IP协议类型 | 否 | 1: HTTP/HTTPS,2: SOCKS 默认1 |
pid | 所需省份 | 否 | 0-30,不填默认全国,详细请对照省份清单表 【见附件】 |
cid | 所需城市 | 否 | 参照城市清单表,不填默认全国或全省 【见附件】 |
dataType | 返回数据格式 | 否 | 0: JSON,1: TXT,2: HTML,不填默认0 |
singleIp | IP掉线时是否自动切换 | 否 | 0: 自动切换,1: 不自动切换,默认0 |
unbindTime | 绑定时长 | 否 | 绑定时长,单位秒,可选值 60、180、300、600不填默认60 |
提取请求示例:
http://xxxx./api/getIp?type=1&num=1&pid=12&cid=111&orderId=yourOrderId&time=yourTime&sign=yourSign&dataType=0&singleIp=0
json格式返回示例
{"serialNo":"ca8ac15e5a1a4c89addf5c0be72f0242","code":0,"data":[{"realIp":"222.211.215.132","pid":18,"cid":188,"area":"四川-成都","ip":"110.40.38.22","port":28229}]}
realIp
: 本次代理出口的真实IParea
: IP归属地域ip
和port
: 本次代理请求发送的IP和端口,实际出口为realIp
TXT格式返回示例
110.40.38.22:28229
白名单添加
http://xxxx/api/addWhiteIp?orderId=&time=&sign=&ip=x.x.x.x
白名单删除
http://xxxx/api/delWhiteIp?orderId=&time=&sign=&ip=x.x.x.x
白名单查询
http://xxxx/api/query_ips?orderId=&time=&sign
提取数量查询
http://xxxx/api/used?orderId=&time=&sign=&date=x.x.x.x
参数名称 | 含义 | 是否必传 | 范围 |
---|---|---|---|
orderId | 需要绑定的订单号 | 是 | 后台获取 |
time | 时间戳和sign一起使用 | 是 | 时间戳 |
sign | 校验串 | 是 | 请参考下面API密钥生成 |
ip | 白名单ip | 是 | 单ip格式,不支持网段 |
date | 查询时间 | 否 | 格式:2024-07-18;date不传默认当天 |
签名生成
对每个开放的接口请求进行身份验证,即所有开放的接口请求都需要添加签名(sign
)参数信息。签名信息由订单号(orderId
) + 时间戳(time
)+ 订单密钥(key
) 组成,每个订单都有唯一的订单密钥,在使用过程中一定要注意防止密钥泄漏。
签名生成步骤:
获取订单属性:
- 后台获取订单编号和密钥备用。
按顺序拼接原文字符串:
- 请按照如下顺序将签名参数进行拼接:
orderId+time+key
,其中time
为当前时间戳,精确到秒(10位)。
- 请按照如下顺序将签名参数进行拼接:
使用原文字符串生成签名:
- 使用 MD5 算法对第二步生成的原文字符串进行签名,签名成功后将签名内容转小写,获取最后输出的字符串即为最终的签名
sign
。
- 使用 MD5 算法对第二步生成的原文字符串进行签名,签名成功后将签名内容转小写,获取最后输出的字符串即为最终的签名
示例代码(Python)
import requests
import time
import hashlib
# 固定的 orderId 和 key
orderId = "orderId"
key = "key"
def generate_sign(orderId, timestamp, key):
sign_str = f"{orderId}{timestamp}{key}"
return hashlib.md5(sign_str.encode()).hexdigest()
# 当前时间戳
timestamp = int(time.time())
sign = generate_sign(orderId, timestamp, key)
错误状态码说明
702 No BindIP 代理绑定时长已过期,请重新提取后再使用
703 ERROR 系统未知异常,请联系客服处理
704 NOT WhiteIp 请求IP为非白名单IP,请添加白名单后再使用
作者:admin 创建时间:2024-05-24 11:43
最后编辑:admin 更新时间:2024-09-19 11:32
最后编辑:admin 更新时间:2024-09-19 11:32