查询隧道代理当前IP
1. 接口描述
https://tps.kdlapi.com/api/tpscurrentip 英文代号:tps current ip
实时查询隧道代理当前IP。
隧道代理会根据您购买时选择的周期自动切换IP,使用途中您可以随时调用此接口查询隧道的当前IP。(包含多通道的隧道会返回所有通道的当前IP)
- 必须使用订单API密钥调用本接口
- 支持换IP周期>=30秒的隧道代理订单
- 接口最快调用频率: 1秒1次
温馨提示:此接口不是提取代理IP的接口
隧道代理的特点是设置一次代理,之后会定期在云端自动切换IP,因此主流的使用方式您无需通过API提取IP,也无需处理换IP的逻辑。
此接口是用于实时查询隧道代理的当前IP。
如果您的使用场景需要先提取代理IP,请使用获取隧道代理IP接口
2. 参数说明
参数 | 是否必填 | 参数说明 | 取值说明 |
---|---|---|---|
secret_id | 是 | 订单SecretId | 查看订单API密钥信息 |
sign_type | 否 | 签名验证方式。目前支持token和hmacsha1。 | 默认值:token |
signature | 是 | 请求签名,用来验证此次请求的合法性。 | 支持2种签名验证方式,签名计算方法参见API 授权与验证 |
timestamp | 否 | 当前 UNIX 时间戳(秒级),可记录发起 API 请求的时间。 sign_type=hmacsha1时此参数为必填项。 |
例如1557546010,如果与当前时间相差过大,会引起签名过期错误。 |
nonce | 否 | 随机正整数,与 timestamp 联合起来,用于防止重放攻击。建议携带此参数进一步提升API安全性。 sign_type=hmacsha1时此参数有效。 |
客户自行生成随机正整数,如random.randint(1, 100000000) |
sid | 否 | Pro专属参数,不传时返回当前订单下所有锁定的ip。传入则返回此sid对应的ip。 | 长度不超过6的任意字符 |
3. 调用示例
在会员中心API密钥管理页得到订单的SecretId和SecretKey:
- SecretId:
o1fjh1re9o28876h7c08
- SecretKey:
jd1gzm6ant2u7pojhbtl0bam0xpzsm1c
以密钥令牌验证为例,调用获取密钥令牌接口得到密钥令牌:
- SecretToken:
oxf0n0g59h7wcdyvz2uo68ph2s
调用示例
GET https://tps.kdlapi.com/api/tpscurrentip?secret_id=o1fjh1re9o28876h7c08
&signature=oxf0n0g59h7wcdyvz2uo68ph2s
使用说明
点击查看关于API授权与验证的介绍
4. 返回结果
普通版订单返回格式:
{
"msg": "",
"code": 0,
"data": {
"current_ip": "123.35.67.46",
"current_ip_list": ["123.35.67.46", "113.25.100.86"]
}
}
Pro订单返回格式:
{
"msg": "",
"code": 0,
"data": {
"sid1": "123.35.67.46",
"sid2": "113.25.100.86"
}
}
字段说明如下:
参数 | 说明 |
---|---|
code | 返回码。取值:0代表成功 非0代表失败 |
msg | 错误信息 |
data.current_ip | 隧道当前IP。可能为空串,参见如下说明。 对多通道隧道此字段为第一个通道对应的当前IP。 |
data.current_ip_list | 每个通道对应的当前IP。 对多通道隧道此字段包含每个通道对应的当前IP。 |
data.current_ip为空串的情况
data.current_ip
可能为空串,有如下两种情况:
- 隧道当前并未被使用,所以没有分配IP(隧道只有在使用时才会实时分配IP);
- 分配的IP已过期。
比如您购买的1分钟换IP的隧道,但请求隧道的频率却是每2分钟请求一次,调用tpscurrentip接口
时距离前一次请求隧道已过去1分半钟,前一次请求分配的IP已失效,因后一次请求尚未到来,隧道并没有分配IP,所以返回了空串。
5. 错误码一览
错误码 | 说明 |
---|---|
-3 | 订单类型错误,只支持隧道代理订单 |
-4 | 隧道订单不支持此接口(换IP周期>=30秒的隧道才支持) |
6. SDK
快代理提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。