产品说明

隧道代理提供统一的入口地址,用户成功接入后,每一个请求都是一个随机 IP。

隧道验证方式

目前隧道支持两种授权验证模式:

请求头验证

通过用户名/密码的形式进行身份认证,该认证信息最终会转换为『Proxy-Authorization』协议头跟随请求一起发出。

绑定IP验证

只须绑定用户发起请求的服务器IP即可。
一条隧道最多绑定5个IP,同一IP可以分别绑定到短效版、动态转发版隧道各一条。

服务接入步骤(请求头验证)

在小象注册账号后,前往 “隧道代理” 页中选购隧道产品。
完成支付后,在”后台-产品管理-隧道代理” 页中会看到已经购买到的相应版本HTTP隧道。
每一条HTTP隧道都拥有独立的 “通行证书” 及 “通行密钥”,分别对应代理验证授权的 “应用id” 及 “应用密码”。
通过浏览器使用HTTP隧道,请设置浏览器代理的服务器地址及端口。设置并保存配置后,在浏览器中打开任意网址,会弹出一个授权验证窗口,输入隧道的 “应用id” 及 “应用密码” 后,确认即可。
在代码中使用HTTP隧道时,如果代码的 HTTP 请求方法不支持以用户名/密码的形式设置身份认证信息,则需要手动为每个 HTTP 请求增加『Proxy-Authorization』协议头,其值为 『Basic 』。其中『』为 “通行证书” 和 “通行密钥” 通过 『:』 拼接后,再经由 BASE64 编码得到的字符串。 正确设置后,发出的请求都将包含如下格式的 HTTP协议头信息:
Proxy-Authorization:Basic MTIzNDU2Nzg5MDEyMzQ1Njc4OmFiY2RlZmdo

自动绑定终端IP接口(绑定IP验证)

https://api.xiaoxiangdaili.com/app/bindIp?appKey=应用id&appSecret=应用密码&i=序号(1-5,默认1)

说明:如果终端IP不是固定IP,并且采用绑定IP验证模式的话,建议定时调用该接口,一旦终端IP发生变化,隧道会自动绑定新的终端IP。

代理IP手动切换方式

在 HTTP 请求中增加键为『Proxy-Switch-Ip』, 值为『true』的协议头信息,应用程序将请求通过隧道发出后,HTTP隧道会立刻切换一个新的IP,当前请求和随后发起的请求都会通过新的 IP地址 进行转发。

隧道代理服务器地址

隧道代理(短效版)代理服务器地址为:http-short.xiaoxiangdaili.com,   端口:10010

隧道代理(动态转发)代理服务器地址为:http-dynamic.xiaoxiangdaili.com,   端口:10030

软件接入指南

语言接入指南

注意

  1. Java8以上版本,请在运行的时候,加上 -Djdk.http.auth.tunneling.disabledSchemes=""。 具体原因请参考: Unable to tunnel through proxy since Java 8 Update 111
  2. 使用Python2 的示例代码访问 HTTPS 协议的 URL 会有问题,建议使用 Python3。

常见错误码

错误码 提示信息 说明
407 No Proxy-Authorization or Authorization can be found 请设置请求头Proxy-Authorization或者Authorization
407 Appkey is not a number appkey必须是数字
407 Not found 应用不存在
407 Disabled 应用已被禁用
407 Expired 应用已过期
407 Not found or expired 应用不存在或已过期
407 Wrong password 密码错误
407 Proxy type mismatch 产品类型不匹配
429 Too Many Requests 超过并发限制,请降低频率或者使用调整隧道代理套餐
500 Unknown exception 未知异常