取消
最近搜索
清空历史

隧道代理Pro开发手册

总览

新手开发者可通过如下2个步骤使用隧道代理Pro:

一、购买成功后,先在会员中心查看隧道信息,进行本地调试和验证

二、参考代码样例请求隧道代理访问目标网站。

三、隧道代理Pro使用非常灵活,可以设置ip地区、换ip周期、质量优先、速度优先等,设置方式点击查看

API接口

隧道代理ProAPI接口一览

接口名称 接口功能
TpsProCurrentIp 查询隧道当前IP
GetTpsPro 获取隧道代理Pro IP
GetIpWhitelist 获取隧道IP白名单
SetIpWhitelist 设置隧道IP白名单
AddWhiteIP 添加白名单IP
DelWhiteIP 删除白名单IP
GetProxyAuthorization 获取隧道鉴权信息
GetTpsProvCode 获取隧道代理Pro省份编码
GetTpsCityCode 获取隧道代理Pro城市编码

测试隧道可用性

隧道代理支持白名单和用户名密码两种验证方式,建议您先在本机测试,测试OK后就可以正常使用了。

查看测试步骤

关于IP白名单数量

如果您选择设置白名单访问隧道,最多可设置50个白名单IP。
只要请求不超过购买时选择的每秒并发数,通过用户名密码访问隧道的IP数量没有限制。

ip地区、换ip周期、自定义资源调度策略

管理台设置

您可以在会员中心-隧道代理订单管理里查看和修改当前的地区、周期配置、自定义资源调度策略,修改成功后一分钟内生效。

编码设置

您可以在用户名后面添加不同参数来控制隧道的转发,例如您的用户名为t2964279696,密码为jkr369ry,参数说明如下:

period 指定换ip周期

以这样的格式{username}-period-{1}:{password}传入period参数(单位:分钟),取值范围0.25、0.5、1-30之间的整数,没有传入period参数即每次请求更换ip。

t2964279696-period-0.25:jkr369ry  # 每15s更换ip
t2964279696-period-0.5:jkr369ry  # 每30s更换ip
t2964279696-period-1:jkr369ry  # 每1min更换ip
t2964279696-period-2:jkr369ry  # 每2min更换ip

对于换ip周期,可以配合参数sid使用,即传入不同的period+sid能指定多条通道,
例如您的使用场景,需要30s换ip、1min换ip等多种不同周期的ip。sid为长度不超过6的任意字符
t2964279696-period-0.5-sid-s01:jkr369ry  # 每30s更换ip通道
t2964279696-period-1-sid-s02:jkr369ry  # 每1min更换ip通道
...  # Pro可以设置多条通道

area、prov、city 指定出口ip地区

area 七大自然地理分区:
华北地区 NC(North China 包含:北京,天津,河北,山西,内蒙古)
华东地区 EC(East China 包含:上海,江苏,浙江,山东,安徽)
东北地区 NEC(Northeast China 包含:辽宁,吉林,黑龙江)
华中地区 CC(Central China 包含:湖北,湖南,河南,江西)
华南地区 SC(South China 包含:广东,广西,海南,福建)
西南地区 SWC(Southwest China 包含:四川,重庆,贵州,云南,西藏)
西北地区 NWC(Northwest China 包含:陕西,甘肃,新疆,青海,宁夏)

t2964279696-area-NC:jkr369ry  # 指定华北地区
t2964279696-area-CC:jkr369ry  # 指定华中地区

prov 省份编码, city 城市编码,可以通过快代理提供的api获取,GetTpsProvCode 获取省份编码、GetTpsCityCode 获取城市编码。
t2964279696-prov-44:jkr369ry  # 指定广东省
t2964279696-city-420100:jkr369ry  # 指定湖北省武汉市

当同时设置多个地区参数时,以精度最高的地区参数为准,即设置area-CC-prov-41-city-130900时,只有city参数生效。
地区参数仅支持换ip周期在5分钟内的请求,即period>=6时,不支持设置地区参数。

pool 自定义资源调度策略

pool取值范围:1. ip资源调度以速度优先(s1-10),其中s10>s1 2. ip资源调度以质量优先(q1-10),其中q10>q1。不传入pool参数则使用系统的智能转发策略。

t2964279696-pool-s2:jkr369ry
t2964279696-pool-s8:jkr369ry
t2964279696-pool-q2:jkr369ry
t2964279696-pool-q10:jkr369ry

您可以根据使用场景,灵活组合参数period、sid、area、prov、city、pool,例如

t2964279696-period-1-sid-s01-city-420100:jkr369ry  # 武汉市每分钟换ip
t2964279696-period-1-sid-s01-city-420100-pool-s10:jkr369ry  # 武汉市每分钟换ip,且速度优先调度
t2964279696-period-3-area-CC:jkr369ry  # 华中地区每3分钟换ip
...

当您通过编码方式设置地区、周期,资源调度策略时,系统会忽略您在会员中心-隧道代理订单管理里的地区、周期,资源调度策略。

频率限制

隧道代理的请求频率在购买时选择的并发数决定,默认的并发数是1秒5次
请求超过频率可能收到441错误。
建议经常关注隧道使用统计的频率提示,把握好请求频率。
并发数不够用可在隧道管理页升级并发数。

频率控制提示

隧道代理采用弹性频率控制,允许短期超出并发规格,使更多使用场景得以顺利运行。
如果您持续请求超频,超出部分的请求将被拒绝。

错误码一览

HTTP返回码 Response body 内容 说明
407 情况一:Proxy Authentication Failed:%auth
情况二:White IP Failed:$client_ip
情况一:用户名密码验证失败
情况二:白名单验证失败
440 Bandwidth Over Limit 带宽超限
441 Request Rate Over Limit HTTP请求/TCP连接超频
442 Authentication Type Error 认证方式检测失败
443 Foreign Client Forbidden 禁止海外客户端
444 Download Not Allowed 禁止下载文件
445 illegal Request Forbidden 非法的请求
446 Host DNS Failed DNS解析错误
447 Real-name Authentication Required 需要实名认证
448 Target Port Forbidden 禁止访问目标端口
449 Foreign Host Forbidden 禁止访问境外网址
450 IP As Host Forbidden 禁止通过IP访问
451 Miss Host 代理请求格式不正确
452 Public Host Required 目标地址不是公网IP
453 Proxy Port Error 使用了错误的端口号
454 Proxy Authentication Expired 代理验证过期
457 Backend Proxy Bandwidth Over Limit 上级代理带宽超限
458 Backend Proxy Refused 上级代理拒绝连接
464 Invalid Param username中携带的参数不合法
458 Null Proxy 所选地区没有ip资源
462 Target Domain WhiteList Not Match 目标域名白名单不匹配
463 Target Domain BlackList Forbidden 目标域名黑名单禁止访问
503 Proxy Connect Error 连接目标网站失败

隧道使用统计

隧道使用统计功能提供了对请求量和请求错误的统计分析。
您可以随时关注采集程序的运行走势,了解发生的错误并及时修正。我们还为几种常见的错误提供了分析和提示,帮助您提升采集程序运行的成功率。

IP使用统计
状态统计

隧道带宽监控方便您跟踪平均带宽和峰值带宽占用。 通过带宽监控折线图,您可以更好地把控带宽使用情况。

IP使用统计

开发建议

参考如下开发建议,可以帮助您更加顺利地完成开发和调试:

  1. 控制好请求频率,用同一IP请求同一网站建议不超过1秒1次,避免IP被目标网站屏蔽。
  2. 建议关闭HTTP协议的keep-alive功能,避免因连接复用导致隧道不能切换IP
  3. 尽可能采用gzip压缩加速访问,在header里添加:Accept-Encoding: gzip
  4. 关注隧道返回码可协助您排查错误。

使用gzip详解

使用gzip压缩传输数据可显著提升访问速度,方法非常简单:
只需在http请求的header里加上:
Accept-Encoding: gzip
收到HTTP Response后检查header里是否包含:
Content-Encoding: gzip
如果包含,则对body进行gzip解压,就能得到原始内容。

代码样例

请求http隧道

SDK下载

SDK下载

联系我们