隧道代理開發手冊
總覽
新手開發者可通過如下2個步驟使用隧道代理:
一、購買成功后,先在會員中心查看隧道信息,進行本地調試和驗證。
二、 參考代碼樣例請求隧道代理訪問目標網站。
API接口
隧道代理API接口一覽
| 接口名稱 | 接口功能 |
|---|---|
| TpsCurrentIp | 查詢隧道當前IP |
| ChangeTpsIp | 立即更換隧道IP |
| GetTps | 獲取隧道代理IP |
| GetIpWhitelist | 獲取隧道IP白名單 |
| SetIpWhitelist | 設置隧道IP白名單 |
| AddWhiteIP | 添加白名單IP |
| DelWhiteIP | 刪除白名單IP |
| GetProxyAuthorization | 獲取隧道鑒權信息 |
測試隧道可用性
隧道代理支持白名單和用戶名密碼兩種驗證方式,建議您先在本機測試,測試OK后就可以正常使用了。
關于IP白名單數量
如果您選擇設置白名單訪問隧道,最多可設置50個白名單IP。
只要請求不超過購買時選擇的每秒并發數,通過用戶名密碼訪問隧道的IP數量沒有限制。
鎖定IP
對于每次請求更換IP的隧道代理,如果您需要多個請求使用一個IP(如:登錄時,獲取數據的多個請求需要使用同一IP),則可在password后加上:${任意字符串},即可鎖定此IP30秒。
帶上相同字符串的請求使用同一個IP,不帶字符串的請求隨機使用IP。示例如下:
通過password后添加:${任意字符串}鎖定IP
例如您的訂單用戶名為t18725652473456,密碼為jkr369ry
普通模式(每次請求換ip):t18725652473456:jkr369ry
鎖定IP模式(同一字符串鎖定同一IP):t18725652473456:jkr369ry:abc
使用多通道
對于換IP周期15秒~1小時的隧道代理,支持多通道使用,在同一換IP周期內每個通道會轉發一個獨立的代理IP。
目前支持2種轉發模式:
| 轉發模式 | 說明 |
|---|---|
| 按IP轉發 | 來自同一客戶端IP的請求會轉發到固定的通道。 |
| 隨機轉發 | 每次請求會隨機轉發到1個通道。 |
您可以在會員中心-隧道訂單管理里查看和修改轉發模式。
您發起的請求中沒有明確指定轉發哪個通道的情況下,系統會按上述配置進行轉發。
編程使用多通道
以10通道的隧道訂單為例,可劃分通道編號為1~10。
您可以在程序中通過如下兩種方式指定轉發到哪個編號的通道:
方式一:通過用戶名密碼指定通道
用戶名、密碼和通道號生成Proxy-Authorization。
例如用戶名為t18725652473456,密碼為jkr369ry,本次請求轉發第3號通道。
t18725652473456:jkr369ry:3
方式二:通過Header指定通道(只支持http)
以本次請求轉發第3號通道為例,在發起http請求時攜帶如下Header(Header不區分大小寫):
kdl-tps-channel: 3
開發提示
以10通道為例,通道號的取值無需為1~10,您也可以用任意隨機數或字符串作為通道號,系統會自動轉換為最終的通道號,確保同一隨機數機或字符串轉發到同一通道,且不同隨機數或字符串盡可能均勻轉發到每個通道。
當您通過程序指定通道時,系統會忽略您在會員中心-隧道訂單管理里的轉發模式配置。
手動更換IP
對于換IP周期>=1分鐘的隧道代理,隧道會根據您購買時選擇的周期自動切換IP,但使用途中如果您發現該IP不可用,可以調用更換隧道IP接口讓隧道立即更換一個新IP。
手動換IP的頻率限制
在隧道的1個換IP周期內,調用更換隧道IP接口換IP的次數不能超過2次。
舉例說明:您購買的是5分鐘換IP的隧道,那么5分鐘內您最多可以調用此接口2次。
頻率限制
隧道代理的請求頻率在購買時選擇的并發數決定,默認的并發數是1秒5次。
請求超過頻率可能收到441錯誤。
建議經常關注隧道使用統計的頻率提示,把握好請求頻率。
并發數不夠用可在隧道管理頁升級并發數。
頻率控制提示
隧道代理采用彈性頻率控制,允許短期超出并發規格,使更多使用場景得以順利運行。
如果您持續請求超頻,超出部分的請求將被拒絕。
錯誤碼一覽
隧道使用統計
隧道使用統計功能提供了對請求量和請求錯誤的統計分析。
您可以隨時關注采集程序的運行走勢,了解發生的錯誤并及時修正。我們還為幾種常見的錯誤提供了分析和提示,幫助您提升采集程序運行的成功率。


隧道帶寬監控方便您跟蹤平均帶寬和峰值帶寬占用。 通過帶寬監控折線圖,您可以更好地把控帶寬使用情況。

開發建議
參考如下開發建議,可以幫助您更加順利地完成開發和調試:
-
控制好請求頻率,用同一IP請求同一網站建議不超過1秒1次,避免IP被目標網站屏蔽。
- 建議關閉HTTP協議的keep-alive功能,避免因連接復用導致隧道不能切換IP
- 盡可能采用gzip壓縮加速訪問,在header里添加:Accept-Encoding: gzip
- 關注隧道返回碼可協助您排查錯誤。
使用gzip詳解
使用gzip壓縮傳輸數據可顯著提升訪問速度,方法非常簡單:
只需在http請求的header里加上:
Accept-Encoding: gzip
收到HTTP Response后檢查header里是否包含:
Content-Encoding: gzip
如果包含,則對body進行gzip解壓,就能得到原始內容。