短效代理开发者指南
青果为有经验的开发者提供多种API接口及代码示例,以协助开发者更便利地使用代理。
本篇仅以【提取IP】这一操作为例,介绍如何使用API接口-代码方式来使用代理。
## 步骤总览

## 一、API鉴权与代理授权
青果支持开发者对API鉴权和代理授权验证进行自主管理,以下介绍这一阶段的操作
**API鉴权**是指对调用API接口的服务器身份进行验证的功能。启用鉴权可以提高安全性,用户可以根据需要选择启用或关闭该功能。
用户可根据意愿选择开启和关闭API鉴权(默认关闭),青果提供的鉴权方式有密码和白名单两种,在对应业务【操作】-【业务设置】-【API鉴权/白名单】中进行设置即可。


**代理授权验证**是指对代理身份进行验证,只有通过对应信息才能使用该代理IP,确保您的使用权益和安全性。
青果代理IP支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。
白名单设置的入口与API鉴权一样。

详细步骤可查看>[如何使用API鉴权](https://www.qg.net/doc/2283.html)、[代理验证](https://www.qg.net/doc/1574.html)
## 二、获取api接口
青果给开发者提供两种方式来获得api接口
① 使用调试工具/提取工具
调试工具是青果为开发者推出的快速获取接口&调试的简便工具,传送门[>>调试工具](https://www.qg.net/tools/IPdebug.html)
使用调试工具,用户需要先在左侧栏目中选好产品及接口类型,并在右侧表格的参数值列中填写所需信息,便可在页面上方看到完整的【请求地址】,这便是提取IP的API接口。
点击【发送】还能快速调试,查看响应结果,确认该代理接口是否可用。

调试工具除了有提取IP接口,还提供查询在用IP、资源池、资源地区等接口。
若只需要提取IP,也可以使用提取工具,进行简单的选择便可以获取一样的接口链接。传送门[>>提取工具 ](https://www.qg.net/tools/IPget.html)

② 查看api接口文档
除了简便工具,开发者也可以通过更原始的接口文档,自主编写所需的接口链接。
**点击了解API接口文档 >[弹性提取类型](https://www.qg.net/doc/product/6_255_263_264/2254.html)、[按量提取类型](https://www.qg.net/doc/product/6_255_263_265/2140.html)、[均匀提取类型](https://www.qg.net/doc/product/6_255_263_266/2258.html)、[通道提取类型](https://www.qg.net/doc/product/6_255_263_267/2139.html)**
## 三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@{118.92.69.112}:{32105} {targetUrl}`

若响应不成功,可对应[错误码表](https://www.qg.net/doc/1838.html),排查问题。
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了多种编程语言的代码示例供开发者参考,
详情查看
- [C语言代码示例](https://www.qg.net/doc/sdk/9_230/1694.html)
- [Go语言代码示例](https://www.qg.net/doc/sdk/9_230/1695.html)
- [PHP语言代码示例](https://www.qg.net/doc/sdk/9_230/1696.html)
- [Python语言代码示例](https://www.qg.net/doc/sdk/9_230/1697.html)
- [Java语言代码示例](https://www.qg.net/doc/sdk/9_230/1698.html)
- [Shell语言代码示例](https://www.qg.net/doc/sdk/9_230/1699.html)
- [C#语言代码示例](https://www.qg.net/doc/sdk/9_230/1700.html)
- [Node语言代码示例](https://www.qg.net/doc/sdk/9_230/1701.html)
**注:**青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。
## 其他应用
### 隧道池支持通过账密指定参数
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) |-A-{地区编码} |-A-120100(天津) |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。国内代理仅支持通过地区编码指定地区。编码详见 国内区域编码表。
兼容旧格式 :A、:T(如 :A120100、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
# 参数全部拼在 Authkey 后面
curl -x authkey-A-120100-T-60:password@tun-szbhry.qg.net:25889 myip.ipip.net
# 参数全部拼在 AuthPwd 后面
curl -x authkey:password-A-120100-T-60@tun-szbhry.qg.net:25889 myip.ipip.net
# 参数分散在两边
curl -x authkey-T-60:password-A-120100@tun-szbhry.qg.net:25889 myip.ipip.net
```
优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道池业务达到存活时长后会更换IP,通过 -A- 可将随机范围限定到某个地区。
使用地区编码
```curl
curl -x authkey:password-A-120100@tun-szbhry.qg.net:25889 myip.ipip.net
// 或
curl -x authkey-A-120100:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
如果两侧同时指定了地区,密码侧优先:
```curl
// 用户名指定天津(120100),密码指定北京(110100),最终使用北京IP
curl -x authkey-A-120100:password-A-110100@tun-szbhry.qg.net:25889 myip.ipip.net
```
地区编码详见 [国内区域编码表](https://www.qg.net/doc/2281.html)。
####保持IP不变
如果需要多个请求维持同一个IP(如登录 + 获取数据),可通过 -T- 指定存活时长(单位:秒)。
隧道池无需传通道,直接传 -T- 即可保持IP。 若指定的存活时长超出套餐限制,系统会自动按套餐允许的最大时长处理,不会超出。
```curl
// 保持IP 30秒,无需指定通道
curl -x authkey:password-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数在用户名侧
curl -x authkey-T-30:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
####组合使用
多个参数可以自由组合,顺序不限。
```curl
// 指定地区 + 存活时长
curl -x authkey:password-A-120100-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数分布在两侧
curl -x authkey-A-120100:password-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数全在用户名侧
curl -x authkey-A-110100-T-30:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
国内4种代理产品的区别
青果国内代理ip提供四种产品模式:短效代理、隧道代理、独享代理、长效代理。本文档为大家介绍4者的区别与特点,以此帮助大家选用更合适的产品。
| |
**短效代理 ** | **隧道代理** | **独享代理** | **长效代理** |
| ------------ | ------------------------------------------- | -------------------------------------- | ---------------------------------------------- | ------------------------------------------------ |
| **提取方式**
| 弹性/均匀/按量/通道提取
| -
| 通道提取
| 通道提取
|
| **资源池** | 可选中转池/隧道池 | 默认 | 默认 | 默认 |
| **计费方式** | 依提取方式而定 [了解提取方式>](https://www.qg.net/doc/product/6_255_252/2250.html) | 按每秒可发的请求数计费 | 按同时在线的IP数计费 | 按同时在线的IP数计费 |
| **IP存活时长** | 1分钟-30分钟 | 每次请求换IP | 0-24小时 | 24小时起 |
| **单IP带宽峰值** | 2Mbps | 1Mbps | 5Mbps | 1/2/5Mbps |
| **适合哪些客户** | 针对IP需求量大且带宽要求不高的客户 | 针对代理IP量要求大,希望调用简单的客户 | 针对需要IP短时可用,对稳定性和品质要求高的客户 | 针对需要IP长效,对稳定性和品质要求超高的客户 |
| **产品优势** | 多种提取方式/存活时长可选,更灵活,性价比高 | 0代码接入,调用简单 | 动态独享,可灵活控制存活时长 | 多种动态、静态套餐可选,IP长效稳定 |
| | [了解详情>](https://www.qg.net/doc/product/6_255/1444.html) | [了解详情>](https://www.qg.net/doc/product/6_256_268/1443.html) | [了解详情>](https://www.qg.net/doc/product/6_257/1440.html) | [了解详情>](https://www.qg.net/doc/product/6_258/1445.html) |
短效代理-产品介绍
## 1 产品简介
青果的国内短效代理,提供动态和短效的IP资源,其基于拨号VPS构建的高品质代理服务器,部署全国**200+**城市与地区,IP日流水超**600万**,可用时长从**1-30分钟**全时段覆盖,为您的业务提供强大的支持;
选择青果短效代理,我们将为您提供多种IP资源池、IP提取方式、IP存活时长选项,您可以从中选择与业务**使用最适配、最具性价比**的模式进行使用。
短效代理产品的使用非常方便,只需要几分钟,您可以通过编程使用或手动设置代理IP进行使用。
## 2 提取方式
为满足不同用户的使用需求,动态的短效代理,提供了4种不同的IP提取方式。
- [弹性提取](https://www.qg.net/doc/product/6_255_252/2250.html):【按每天提取的IP数计费】
- [按量提取](https://www.qg.net/doc/product/6_255_252/2251.html):【按提取的IP数计费】
- [均匀提取](https://www.qg.net/doc/product/6_255_252/2252.html):【按每分钟提取的IP数计费】
- [通道提取](https://www.qg.net/doc/product/6_255_252/2253.html):【按同时在线的IP数计费】
↑点击以上蓝字,查看该提取方式详情介绍。
不同的提取方式决定了不同计费方式,具体价格情况以购买页为准。
## 3 资源池
短效代理为用户提供了中转池、隧道池两种IP资源池选择。
不同提取方式下对应有不同的资源池选择,具体见下表
| 短效代理 | 弹性提取 | 按量提取 | 均匀提取 | 通道提取 |
| :------: | :------: | :------: | :------: | :------: |
| 中转池 | √ | √ | √ | √ |
| 隧道池 | | | | √ |
**2种IP资源池的特点为**
- 中转池:由大量的边缘节点汇聚而成的,可选城市更多,IP段也更为分散,业务成功率更高;
- 隧道池:资源也有分散性、边缘性特点,更突出的是免代码接入,即可实现云端自动切换IP,使用十分便利。
更详细的资源池介绍,请点击查看>>[中转池](https://www.qg.net/doc/product/6_255_253/2249.html)、[隧道池](https://www.qg.net/doc/product/6_255_253/2278.html)
## 4 存活时长
IP存活时长是从提取到IP算起,根据购买的IP存活周期,超过存活时长IP失效。
短效代理中,提供了1分钟、2分钟、3分钟、5分钟、1-5分钟、5-15分钟和15-30分钟7种时长选项,由于资源特性不同,不同资源池&提取方式包含的选项也不同,请以具体购买页为准。
短效代理IP的到期时间均为系统自动控制,无需释放。
##5 产品属性
- 免费白名单数量:256
- 支持协议:HTTP/HTTPS/SOCKS5
- 单IP最大连接数:100
- 单IP带宽限制:2Mbps
- 终端数限制:无限制
- 提取资源频率:通道提取为 (通道数*5+10 ) 次/分钟,弹性/均匀/按量提取为60次/分钟
- 单次提取IP上限:按量提取方式为200个,弹性/均匀/通道提取方式为100个
## 6 产品优势
- IP资源池丰富,600万+纯净IP,覆盖全国主要省份
- 3种不同特性IP资源池可选,适配不同使用需求
- 极速(访问百度测试,响应时间<1秒)
- 支持多台设备同时使用
- API授权方式多样,支持白名单和账密验证,使用灵活;
- IP存活时长到期后系统自动释放,无需释放
- 支持短时间内大量提取IP,也支持持续提取指定IP数,满足各类需求;
- 提供代理请求统计,包括请求频率、请求错误分析,帮助您自主排查,提升程序运行的成功率;
- 提供IP提取、IP使用监控,精准回溯每一次的提取与使用记录;
## 7 用途
短效代理可用于:
- 数据采集
- 舆情监测
- 电商选品
- APP大数据分析
- 原创版权保护
不适用于以下场景:
- 访问谷歌等国内正常无法访问的网站;
- 大文档、音乐、视频等大文件下载;
- 登录和访问色情、赌博等不健康的网站;
- 用于网络攻击等违法行为。
## 8 使用指南
短效代理使用非常方便,您可以选择①**手动设置**代理IP并在浏览器中使用,
也可以通过②**API接口获取**代理并参照代码样例集成到您的程序中。
具体请查看
- [手动设置代理指南 >](https://www.qg.net/doc/product/6_255_254/2246.html)
- [开发者使用代理指南 >](https://www.qg.net/doc/product/6_255_254/1793.html )
## 9 产品购买
青果国内代理IP,为所有用户**提供6小时免费试用**,不限使用次数。(除按量提取产品外,均可试用)
欢迎点击下方链接进行试用、购买。
- [短效代理 >](https://www.qg.net/business/proxyip/2.html?region=domestic&product_type=1&pool_type=2&extract_mode=4&spec_idx=0&num_idx=0&time_idx=3&number=1000&authkey_type=0)
- [独享代理 >](https://www.qg.net/business/proxyip/2.html?region=domestic&product_type=2&pool_type=1&extract_mode=1&spec_idx=0&num_idx=0&time_idx=2&number=1&authkey_type=0 )
- [隧道代理 >](https://www.qg.net/business/proxyip/2.html?region=domestic&product_type=3&pool_type=1&extract_mode=1&spec_idx=0&num_idx=0&time_idx=3&number=5&authkey_type=0 )
- [长效代理 >](https://www.qg.net/business/proxyip/2.html?region=domestic&product_type=4&pool_type=1&extract_mode=1&spec_idx=0&num_idx=0&time_idx=2&number=1&authkey_type=0 )
隧道代理-产品介绍
## 1 产品简介
隧道代理是利用高性能主机构建的动态代理服务器,通过将切换IP的操作放到云端,自动管理用户发出的隧道请求,实现云端切换IP转发用户请求,简化用户的操作,降低了用户的时间成本;
隧道代理默认每秒允许5个并发请求限制起,支持短期高并发。
隧道代理使用简单,开发者接入隧道服务即可,参照【[代码样例](https://www.qg.net/list/192.html)】可集成到您的程序中,极大简化了编程的复杂度。

## 2 产品优势
- 无须提取IP,方便快捷;
- 采用弹性并发数控制,支持短期高并发使用;
- 提供可视化监控统计,帮助用户精准把控请求频率走势,提升业务运行的成功率;
- 完美匿名本机IP,避免不必要的网络攻击,提升业务成功率。
- 云端切换IP,连接上我们的隧道代理服务器后,统一入口,随机动态出口IP,无需手动切换 ;
- 隧道代理可用性>99%,若转发的IP不可用,隧道代理会自动再转发到1个新的可用IP,可连续使用;
- 响应极速,毫秒级更换代理IP(访问百度测试,响应时间<1秒);
- 支持多台设备或进程同时进行。
## 3 适合人群
隧道代理适用于需要调用简单的应用场景。
## 4 IP存活时长
每一个请求随机一个IP。
## 5 付费模式
目前仅支持按时计费模式,包括按日、按周、按月、按年四种按时付费模式。
## 6 产品属性
- 免费白名单数量:256
- 支持协议:HTTP/HTTPS/SOCKS5
- 带宽限制:1Mbps/IP
- 终端数限制:无限制
## 7 用途
**隧道代理可用于:**
- 征信查询
- 原创版权保护
- 电商选品
- 舆情监测
**不适用于以下场景**
- 访问谷歌等国内正常无法访问的网站;
- 大文档、音乐、视频等大文件下载;
- 登录和访问色情、赌博等不健康的网站;
- 用于网络攻击等违法行为。
## 8 使用指南
隧道代理最主要的使用方式是编程使用,无须提取IP,对接隧道服务即可。
[查看隧道代理(动态请求)开发者指南 >](https://www.qg.net/doc/product/6_256_269/1796.html)
## 9 产品购买
- [短效代理 >](https://www.qg.net/business/proxyip/2.html?region=domestic&product_type=1&pool_type=2&extract_mode=4&spec_idx=0&num_idx=0&time_idx=3&number=1000&authkey_type=0 )
- [隧道代理 >](https://www.qg.net/business/proxyip/42.html?region=domestic&product_type=3&pool_type=1&extract_mode=1&spec_idx=0&num_idx=0&time_idx=3&number=5&authkey_type=0 )
- [独享代理 >](https://www.qg.net/business/proxyip/6.html?region=domestic&product_type=2&pool_type=1&extract_mode=1&spec_idx=0&num_idx=0&time_idx=2&number=1&authkey_type=0)
- [长效代理 >](https://www.qg.net/business/proxyip/6.html?region=domestic&product_type=4&pool_type=1&extract_mode=1&spec_idx=0&num_idx=0&time_idx=2&number=1&authkey_type=0 )
短效代理(全球HTTP)开发者指南
**全球HTTP均不支持在中国大陆地区网络环境下使用。**
青果为有经验的开发者提供多种API接口及代码示例,以协助开发者更便利地使用代理。
本篇仅以【提取IP】这一操作为例,介绍如何使用API接口-代码方式来使用代理。
## 步骤总览

## 一、API鉴权与代理授权
青果支持开发者对API鉴权和代理授权验证进行自主管理,以下介绍这一阶段的操作
**API鉴权**是指对调用API接口的服务器身份进行验证的功能。启用鉴权可以提高安全性,用户可以根据需要选择启用或关闭该功能。
用户可根据意愿选择开启和关闭API鉴权(默认关闭),青果提供的鉴权方式有密码和白名单两种,在对应业务【操作】-【业务设置】-【API鉴权/白名单】中进行设置即可。


**代理授权验证**是指对代理身份进行验证,只有通过对应信息才能使用该代理IP,确保您的使用权益和安全性。
青果代理IP支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。
白名单设置的入口与API鉴权一样。

详细步骤可查看>[如何使用API鉴权](https://www.qg.net/doc/2283.html)、[代理验证](https://www.qg.net/doc/1574.html)
## 二、获取api接口
青果给开发者提供两种方式来获得api接口
① 使用调试工具/提取工具
调试工具是青果为开发者推出的快速获取接口&调试的简便工具,传送门[>>调试工具](https://www.qg.net/tools/IPdebug.html)
使用调试工具,用户需要先在左侧栏目中选好产品及接口类型,并在右侧表格的参数值列中填写所需信息,便可在页面上方看到完整的【请求地址】,这便是提取IP的API接口。
点击【发送】还能快速调试,查看响应结果,确认该代理接口是否可用。

调试工具除了有提取IP接口,还提供查询在用IP、资源池、资源地区等接口。
若只需要提取IP,也可以使用提取工具,进行简单的选择便可以获取一样的接口链接。传送门[>>提取工具 ](https://www.qg.net/tools/IPget.html)

② 查看api接口文档
除了简便工具,开发者也可以通过更原始的接口文档,自主编写所需的接口链接。
**点击了解API接口文档 >[按量提取类型](https://www.qg.net/doc/product/6_259_275_276/2144.html)、[通道提取类型](https://www.qg.net/doc/product/6_259_275_277/2262.html)**
## 三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@{118.92.69.112}:{32105} {targetUrl}`

若响应不成功,可对应[错误码表](https://www.qg.net/doc/1838.html),排查问题。
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了多种编程语言的代码示例供开发者参考,
详情查看
- [C语言代码示例](https://www.qg.net/doc/sdk/9_230/1694.html)
- [Go语言代码示例](https://www.qg.net/doc/sdk/9_230/1695.html)
- [PHP语言代码示例](https://www.qg.net/doc/sdk/9_230/1696.html)
- [Python语言代码示例](https://www.qg.net/doc/sdk/9_230/1697.html)
- [Java语言代码示例](https://www.qg.net/doc/sdk/9_230/1698.html)
- [Shell语言代码示例](https://www.qg.net/doc/sdk/9_230/1699.html)
- [C#语言代码示例](https://www.qg.net/doc/sdk/9_230/1700.html)
- [Node语言代码示例](https://www.qg.net/doc/sdk/9_230/1701.html)
**注:**青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。
## 其他应用
### 隧道池支持通过账密指定参数
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) |-A-{国家编码} 或 -A-{国家英文缩写} |-A-990100 / -A-US |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。同时支持国家编码和英文国家/地区缩写(如 US、JP、KR、GB 等)。
兼容旧格式 :A、:T(如 :A990100、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
// 参数全部拼在 Authkey 后面
curl -x authkey-A-US-T-60:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数全部拼在 AuthPwd 后面
curl -x authkey:password-T-60-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分散在两边
curl -x authkey-T-60:password-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
```
优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道池业务达到存活时长后会更换IP,通过 -A- 可将随机范围限定到某个地区。
使用英文缩写
```curl
curl -x authkey-A-US:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
```
使用国家编码
```curl
curl -x authkey-A-990100:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-990100@overseas-hk.tunnel.qg.net:12195 ip.sb
```
编码详见 [海外区域编码表](https://www.qg.net/doc/2282.html),英文缩写采用 ISO 标准国家/地区代码。
####保持IP不变
如果需要多个请求维持同一个IP,可通过 -T- 指定存活时长(单位:秒)。
隧道池无需传通道,直接传 -T- 即可保持IP。 若指定的存活时长超出套餐限制,系统会自动按套餐允许的最大时长处理,不会超出。
```curl
// 参数在用户名侧
curl -x authkey-T-30:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数在密码侧
curl -x authkey:password-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
```
####组合使用
多个参数可以自由组合,顺序不限。
```curl
// 英文缩写指定美国 + 存活时长
curl -x authkey:password-A-US-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
// 编码方式指定美国 + 存活时长
curl -x authkey:password-A-990100-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分布在两侧
curl -x authkey-A-JP:password-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
```
短效代理(全球HTTP)-使用指南-开发版
**全球HTTP均不支持在中国大陆地区网络环境下使用。**
青果为有经验的开发者提供多种API接口及代码示例,以协助开发者更便利地使用代理。
本篇仅以【提取IP】这一操作为例,介绍如何使用API接口-代码方式来使用代理。
## 步骤总览

## 一、API鉴权与代理授权
青果支持开发者对API鉴权和代理授权验证进行自主管理,以下介绍这一阶段的操作
**API鉴权**是指对调用API接口的服务器身份进行验证的功能。启用鉴权可以提高安全性,用户可以根据需要选择启用或关闭该功能。
用户可根据意愿选择开启和关闭API鉴权(默认关闭),青果提供的鉴权方式有密码和白名单两种,在对应业务【操作】-【业务设置】-【API鉴权/白名单】中进行设置即可。


**代理授权验证**是指对代理身份进行验证,只有通过对应信息才能使用该代理IP,确保您的使用权益和安全性。
青果代理IP支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。
白名单设置的入口与API鉴权一样。

详细步骤可查看>[如何使用API鉴权](https://www.qg.net/doc/2283.html)、[代理验证](https://www.qg.net/doc/1574.html)
## 二、获取api接口
青果给开发者提供两种方式来获得api接口
① 使用调试工具/提取工具
调试工具是青果为开发者推出的快速获取接口&调试的简便工具,传送门[>>调试工具](https://www.qg.net/tools/IPdebug.html)
使用调试工具,用户需要先在左侧栏目中选好产品及接口类型,并在右侧表格的参数值列中填写所需信息,便可在页面上方看到完整的【请求地址】,这便是提取IP的API接口。
点击【发送】还能快速调试,查看响应结果,确认该代理接口是否可用。

调试工具除了有提取IP接口,还提供查询在用IP、资源池、资源地区等接口。
若只需要提取IP,也可以使用提取工具,进行简单的选择便可以获取一样的接口链接。传送门[>>提取工具 ](https://www.qg.net/tools/IPget.html)

② 查看api接口文档
除了简便工具,开发者也可以通过更原始的接口文档,自主编写所需的接口链接。
**点击了解API接口文档 >[按量提取类型](https://www.qg.net/doc/product/6_259_275_276/2144.html)、[通道提取类型](https://www.qg.net/doc/product/6_259_275_277/2262.html)**
## 三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@{118.92.69.112}:{32105} {targetUrl}`

若响应不成功,可对应[错误码表](https://www.qg.net/doc/1838.html),排查问题。
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了多种编程语言的代码示例供开发者参考,
详情查看
- [C语言代码示例](https://www.qg.net/doc/sdk/9_230/1694.html)
- [Go语言代码示例](https://www.qg.net/doc/sdk/9_230/1695.html)
- [PHP语言代码示例](https://www.qg.net/doc/sdk/9_230/1696.html)
- [Python语言代码示例](https://www.qg.net/doc/sdk/9_230/1697.html)
- [Java语言代码示例](https://www.qg.net/doc/sdk/9_230/1698.html)
- [Shell语言代码示例](https://www.qg.net/doc/sdk/9_230/1699.html)
- [C#语言代码示例](https://www.qg.net/doc/sdk/9_230/1700.html)
- [Node语言代码示例](https://www.qg.net/doc/sdk/9_230/1701.html)
**注:**青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。
## 其他应用
### 隧道池支持通过账密指定参数
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) |-A-{国家编码} 或 -A-{国家英文缩写} |-A-990100 / -A-US |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。同时支持国家编码和英文国家/地区缩写(如 US、JP、KR、GB 等)。
兼容旧格式 :A、:T(如 :A990100、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
// 参数全部拼在 Authkey 后面
curl -x authkey-A-US-T-60:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数全部拼在 AuthPwd 后面
curl -x authkey:password-T-60-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分散在两边
curl -x authkey-T-60:password-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
```
优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道池业务达到存活时长后会更换IP,通过 -A- 可将随机范围限定到某个地区。
使用英文缩写
```curl
curl -x authkey-A-US:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
```
使用国家编码
```curl
curl -x authkey-A-990100:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-990100@overseas-hk.tunnel.qg.net:12195 ip.sb
```
编码详见 [海外区域编码表](https://www.qg.net/doc/2282.html),英文缩写采用 ISO 标准国家/地区代码。
####保持IP不变
如果需要多个请求维持同一个IP,可通过 -T- 指定存活时长(单位:秒)。
隧道池无需传通道,直接传 -T- 即可保持IP。 若指定的存活时长超出套餐限制,系统会自动按套餐允许的最大时长处理,不会超出。
```curl
// 参数在用户名侧
curl -x authkey-T-30:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数在密码侧
curl -x authkey:password-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
```
####组合使用
多个参数可以自由组合,顺序不限。
```curl
// 英文缩写指定美国 + 存活时长
curl -x authkey:password-A-US-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
// 编码方式指定美国 + 存活时长
curl -x authkey:password-A-990100-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分布在两侧
curl -x authkey-A-JP:password-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
```
隧道代理(全球HTTP)-使用指南-开发版
## 步骤总览

**注:若使用白名单验证模式,请先添加白名单再进行API接口获取。**
## 一、获取隧道地址
1.在开通隧道代理(全球HTTP)后,就会进入后台管理面板,会看到如以下画面。在业务列表中,可以看到对应的隧道地址。
隧道代理特殊的地方就在于不需要提取和管理大量IP,只需要拿到1个隧道地址便可直接在使用过程中获得所需动态IP,获取隧道地址就近似于获取其他代理产品的IP地址与端口。

**请注意,**目前国内代理IP和全球HTTP的产品,除了按量提取对应的套餐是按量业务之外,其他产品都属于按时业务。
#### 二、授权验证
获取隧道地址之后,还需要有授权验证才能使用代理。青果代理支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。

详细步骤可查看[代理验证](https://www.qg.net/doc/use/8_244/1574.html)
##三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@隧道地址 {targetUrl}`

若使用白名单模式,不需要添加authkey和authpwd。
`curl -x {隧道服务器} {目标url}`
例子 curl -x overseas.tunnel.qg.net:15561 www.baidu.com
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了以下的编程语言的代码示例供开发者进行隧道代理参考,
>>[隧道代理 Go 语言接入指南](https://www.qg.net/doc/sdk/9_230/1872.html)
>>[隧道代理 Python 语言接入指南](https://www.qg.net/doc/sdk/9_230/1879.html)
## 其他应用
另外,虽然隧道代理不需要API接口就能使用代理,但也提供了白名单验证的接口,以下简单介绍隧道相关的白名单接口使用以及一些指定功能。
### 白名单API列表
隧道不支持API的调用,只有白名单功能的API接口。
| 接口类型 | 接口 |
| ---------- | --------------------- | ------------------ |
| 白名单相关 | [添加白名单IP](https://www.qg.net/doc/178.html "添加白名单IP")
[删除白名单IP](https://www.qg.net/doc/179.html "删除白名单IP")
[查询白名单IP](https://www.qg.net/doc/180.html "[查询白名单IP]")
### 支持通过账密指定参数
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) | -A-{国家编码} 或 -A-{国家英文缩写} |-A-990100 / -A-US |
| -C- | 指定通道 | -C-{通道名} |-C-tunnel3 |
| -S- | 指定通道(同 -C-) | -S-{通道名} |-S-tunnel1 |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。同时支持国家编码和英文国家/地区缩写(如 US、JP、KR、GB 等)。
兼容旧格式 :A、:C、:T(如 :A990100、:Cchannel-1、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
// 参数全部拼在 Authkey 后面
curl -x authkey-C-tunnel1-A-US-T-60:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数全部拼在 AuthPwd 后面
curl -x authkey:password-C-tunnel1-T-60-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分散在两边
curl -x authkey-T-60:password-A-US-C-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
```
优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道代理每次请求会随机更换IP,通过 -A- 可将随机范围限定到某个地区。
使用英文缩写
```curl
curl -x authkey-A-US:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
```
使用国家编码
```curl
curl -x authkey-A-990100:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-990100@overseas-hk.tunnel.qg.net:12195 ip.sb
```
编码详见 [海外区域编码表](https://www.qg.net/doc/2282.html),英文缩写采用 ISO 标准国家/地区代码。
```保持IP不变
如果需要多个请求维持同一个IP(如登录 + 获取数据),可通过 -T- 指定存活时长(单位:秒)。
隧道代理下,-T- 必须与 -S-(或 -C-)同时传或同时不传。 通道名为任意非特殊符号字符串。
```curl
// 参数全在用户名侧
curl -x authkey-T-30-S-tunnel1:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数全在密码侧
curl -x authkey:password-T-30-S-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分布在两侧
curl -x authkey-T-30:password-S-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
```
* 注意: 仅指定 -T- 而不指定通道,无法保证IP不变。如果需要保持IP不变一段时间,那么不可以使用通用的overseas.tunnel.qg.net域名,需要使用特定地区的服务器域名,比如:overseas-us.tunnel.qg.net/overseas-hk.tunnel.qg.net等!!!否则服务器无法保证是否可以保持IP不变。
####组合使用
多个参数可以自由组合,顺序不限。
// 英文缩写指定美国 + 通道 + 存活时长
```curl
curl -x authkey-A-US-S-tunnel1-T-30:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 编码方式指定美国 + 通道 + 存活时长(参数在密码侧)
curl -x authkey:password-A-990100-C-tunnel3-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分布在两侧
curl -x authkey-A-JP-T-30:password-S-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
```
####指定隧道服务器
为了降低使用隧道服务的延迟,青果网络为隧道代理(全球HTTP)提供了多个隧道服务器,用户可根据自身的使用情况就近选择隧道服务器。隧道服务器的地址可在控制台中查看。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
// 例子,更换隧道服务器为美国的隧道服务器
curl -x authkey-A-US-S-tunnel1-T-30:password@overseas-hk.tunnel.qg.net:12195 ip.sb
```
隧道代理(全球HTTP)开发者指南
## 步骤总览

**注:若使用白名单验证模式,请先添加白名单再进行API接口获取。**
## 一、获取隧道地址
1.在开通隧道代理(全球HTTP)后,就会进入后台管理面板,会看到如以下画面。在业务列表中,可以看到对应的隧道地址。
隧道代理特殊的地方就在于不需要提取和管理大量IP,只需要拿到1个隧道地址便可直接在使用过程中获得所需动态IP,获取隧道地址就近似于获取其他代理产品的IP地址与端口。

**请注意,**目前国内代理IP和全球HTTP的产品,除了按量提取对应的套餐是按量业务之外,其他产品都属于按时业务。
#### 二、授权验证
获取隧道地址之后,还需要有授权验证才能使用代理。青果代理支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。

详细步骤可查看[代理验证](https://www.qg.net/doc/use/8_244/1574.html)
##三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@隧道地址 {targetUrl}`

若使用白名单模式,不需要添加authkey和authpwd。
`curl -x {隧道服务器} {目标url}`
例子 curl -x overseas.tunnel.qg.net:15561 www.baidu.com
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了以下的编程语言的代码示例以供开发者进行隧道代理参考,
>>[隧道代理 Go 语言接入指南](https://www.qg.net/doc/sdk/9_230/1872.html)
>>[隧道代理 Python 语言接入指南](https://www.qg.net/doc/sdk/9_230/1879.html)
## 其他应用
另外,虽然隧道代理不需要API接口就能使用代理,但也提供了白名单验证的接口,以下简单介绍隧道相关的白名单接口使用以及一些指定功能。
### 白名单API列表
隧道不支持API的调用,只有白名单功能的API接口。
| 接口类型 | 接口 |
| ---------- | --------------------- | ------------------ |
| 白名单相关 | [添加白名单IP](https://www.qg.net/doc/178.html "添加白名单IP")
[删除白名单IP](https://www.qg.net/doc/179.html "删除白名单IP")
[查询白名单IP](https://www.qg.net/doc/180.html "[查询白名单IP]")
### 支持通过账密指定参数
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) | -A-{国家编码} 或 -A-{国家英文缩写} |-A-990100 / -A-US |
| -C- | 指定通道 | -C-{通道名} |-C-tunnel3 |
| -S- | 指定通道(同 -C-) | -S-{通道名} |-S-tunnel1 |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。同时支持国家编码和英文国家/地区缩写(如 US、JP、KR、GB 等)。
兼容旧格式 :A、:C、:T(如 :A990100、:Cchannel-1、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
// 参数全部拼在 Authkey 后面
curl -x authkey-C-tunnel1-A-US-T-60:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数全部拼在 AuthPwd 后面
curl -x authkey:password-C-tunnel1-T-60-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分散在两边
curl -x authkey-T-60:password-A-US-C-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
```
优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道代理每次请求会随机更换IP,通过 -A- 可将随机范围限定到某个地区。
使用英文缩写
```curl
curl -x authkey-A-US:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-US@overseas-hk.tunnel.qg.net:12195 ip.sb
```
使用国家编码
```curl
curl -x authkey-A-990100:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 或
curl -x authkey:password-A-990100@overseas-hk.tunnel.qg.net:12195 ip.sb
```
编码详见 [海外区域编码表](https://www.qg.net/doc/2282.html),英文缩写采用 ISO 标准国家/地区代码。
```保持IP不变
如果需要多个请求维持同一个IP(如登录 + 获取数据),可通过 -T- 指定存活时长(单位:秒)。
隧道代理下,-T- 必须与 -S-(或 -C-)同时传或同时不传。 通道名为任意非特殊符号字符串。
```curl
// 参数全在用户名侧
curl -x authkey-T-30-S-tunnel1:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数全在密码侧
curl -x authkey:password-T-30-S-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分布在两侧
curl -x authkey-T-30:password-S-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
```
* 注意: 仅指定 -T- 而不指定通道,无法保证IP不变。如果需要保持IP不变一段时间,那么不可以使用通用的overseas.tunnel.qg.net域名,需要使用特定地区的服务器域名,比如:overseas-us.tunnel.qg.net/overseas-hk.tunnel.qg.net等!!!否则服务器无法保证是否可以保持IP不变。
####组合使用
多个参数可以自由组合,顺序不限。
// 英文缩写指定美国 + 通道 + 存活时长
```curl
curl -x authkey-A-US-S-tunnel1-T-30:password@overseas-hk.tunnel.qg.net:12195 ip.sb
// 编码方式指定美国 + 通道 + 存活时长(参数在密码侧)
curl -x authkey:password-A-990100-C-tunnel3-T-30@overseas-hk.tunnel.qg.net:12195 ip.sb
// 参数分布在两侧
curl -x authkey-A-JP-T-30:password-S-tunnel1@overseas-hk.tunnel.qg.net:12195 ip.sb
```
####指定隧道服务器
为了降低使用隧道服务的延迟,青果网络为隧道代理(全球HTTP)提供了多个隧道服务器,用户可根据自身的使用情况就近选择隧道服务器。隧道服务器的地址可在控制台中查看。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
// 例子,更换隧道服务器为美国的隧道服务器
curl -x authkey-A-US-S-tunnel1-T-30:password@overseas-hk.tunnel.qg.net:12195 ip.sb
```
短效代理-使用指南-开发版
青果为有经验的开发者提供多种API接口及代码示例,以协助开发者更便利地使用代理。
本篇仅以【提取IP】这一操作为例,介绍如何使用API接口-代码方式来使用代理。
## 步骤总览

## 一、API鉴权与代理授权
青果支持开发者对API鉴权和代理授权验证进行自主管理,以下介绍这一阶段的操作
**API鉴权**是指对调用API接口的服务器身份进行验证的功能。启用鉴权可以提高安全性,用户可以根据需要选择启用或关闭该功能。
用户可根据意愿选择开启和关闭API鉴权(默认关闭),青果提供的鉴权方式有密码和白名单两种,在对应业务【操作】-【业务设置】-【API鉴权/白名单】中进行设置即可。


**代理授权验证**是指对代理身份进行验证,只有通过对应信息才能使用该代理IP,确保您的使用权益和安全性。
青果代理IP支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。
白名单设置的入口与API鉴权一样。

详细步骤可查看>[如何使用API鉴权](https://www.qg.net/doc/2283.html)、[代理验证](https://www.qg.net/doc/1574.html)
## 二、获取api接口
青果给开发者提供两种方式来获得api接口
① 使用调试工具/提取工具
调试工具是青果为开发者推出的快速获取接口&调试的简便工具,传送门[>>调试工具](https://www.qg.net/tools/IPdebug.html)
使用调试工具,用户需要先在左侧栏目中选好产品及接口类型,并在右侧表格的参数值列中填写所需信息,便可在页面上方看到完整的【请求地址】,这便是提取IP的API接口。
点击【发送】还能快速调试,查看响应结果,确认该代理接口是否可用。

调试工具除了有提取IP接口,还提供查询在用IP、资源池、资源地区等接口。
若只需要提取IP,也可以使用提取工具,进行简单的选择便可以获取一样的接口链接。传送门[>>提取工具 ](https://www.qg.net/tools/IPget.html)

② 查看api接口文档
除了简便工具,开发者也可以通过更原始的接口文档,自主编写所需的接口链接。
**点击了解API接口文档 >[弹性提取类型](https://www.qg.net/doc/product/6_255_263_264/2254.html)、[按量提取类型](https://www.qg.net/doc/product/6_255_263_265/2140.html)、[均匀提取类型](https://www.qg.net/doc/product/6_255_263_266/2258.html)、[通道提取类型](https://www.qg.net/doc/product/6_255_263_267/2139.html)**
## 三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@{118.92.69.112}:{32105} {targetUrl}`

若响应不成功,可对应[错误码表](https://www.qg.net/doc/1838.html),排查问题。
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了多种编程语言的代码示例供开发者参考,
详情查看
- [C语言代码示例](https://www.qg.net/doc/sdk/9_230/1694.html)
- [Go语言代码示例](https://www.qg.net/doc/sdk/9_230/1695.html)
- [PHP语言代码示例](https://www.qg.net/doc/sdk/9_230/1696.html)
- [Python语言代码示例](https://www.qg.net/doc/sdk/9_230/1697.html)
- [Java语言代码示例](https://www.qg.net/doc/sdk/9_230/1698.html)
- [Shell语言代码示例](https://www.qg.net/doc/sdk/9_230/1699.html)
- [C#语言代码示例](https://www.qg.net/doc/sdk/9_230/1700.html)
- [Node语言代码示例](https://www.qg.net/doc/sdk/9_230/1701.html)
**注:**青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。
## 其他应用
### 隧道池支持通过账密指定参数
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) |-A-{地区编码} |-A-120100(天津) |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。国内代理仅支持通过地区编码指定地区。编码详见 国内区域编码表。
兼容旧格式 :A、:T(如 :A120100、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
# 参数全部拼在 Authkey 后面
curl -x authkey-A-120100-T-60:password@tun-szbhry.qg.net:25889 myip.ipip.net
# 参数全部拼在 AuthPwd 后面
curl -x authkey:password-A-120100-T-60@tun-szbhry.qg.net:25889 myip.ipip.net
# 参数分散在两边
curl -x authkey-T-60:password-A-120100@tun-szbhry.qg.net:25889 myip.ipip.net
```
优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道池业务达到存活时长后会更换IP,通过 -A- 可将随机范围限定到某个地区。
使用地区编码
```curl
curl -x authkey:password-A-120100@tun-szbhry.qg.net:25889 myip.ipip.net
// 或
curl -x authkey-A-120100:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
如果两侧同时指定了地区,密码侧优先:
```curl
// 用户名指定天津(120100),密码指定北京(110100),最终使用北京IP
curl -x authkey-A-120100:password-A-110100@tun-szbhry.qg.net:25889 myip.ipip.net
```
地区编码详见 [国内区域编码表](https://www.qg.net/doc/2281.html)。
####保持IP不变
如果需要多个请求维持同一个IP(如登录 + 获取数据),可通过 -T- 指定存活时长(单位:秒)。
隧道池无需传通道,直接传 -T- 即可保持IP。 若指定的存活时长超出套餐限制,系统会自动按套餐允许的最大时长处理,不会超出。
```curl
// 保持IP 30秒,无需指定通道
curl -x authkey:password-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数在用户名侧
curl -x authkey-T-30:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
####组合使用
多个参数可以自由组合,顺序不限。
```curl
// 指定地区 + 存活时长
curl -x authkey:password-A-120100-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数分布在两侧
curl -x authkey-A-120100:password-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数全在用户名侧
curl -x authkey-A-110100-T-30:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
隧道代理-使用指南-开发版
青果隧道代理与其他形式的代理IP不同,不需要API接口即可连接使用代理IP,因此省去了获取IP和管理IP池等动作。以下介绍如何用代码方式,快速使用隧道代理。
## 步骤总览

## 一、获取隧道地址
1.在青果完成产品购买后,就会自动进入控制后台,看到如以下的页面,产品列中就有隧道地址;

**请注意,**目前国内代理IP和全球HTTP的产品,除了按量提取对应的套餐是按量业务之外,其他产品都属于按时业务。
## 二、授权验证
获取到隧道地址之后,还需要有授权验证才能使用代理。隧道代理支持白名单和帐密两种验证方式,可自主选择使用。
白名单模式,即把要实现代理的服务器IP添加进代理白名单中,后续使用该IP连接代理就能成功;
账密模式,即先获取该代理业务的账号密码信息,连接代理时填入账密进行验证就可使用代理。

详细步骤可查看[代理验证 >](https://www.qg.net/doc/use/8_244/1574.html)
## 三、代理测试
在代理服务器中打开命令行,输入相应的代理信息进行运行,若响应成功,则代理可用。
以下图为例,通过curl命令测试账密模式的代理结果,查询IP并成功响应。
`curl -x http://{authkey}:{authpwd}@隧道地址 {targetUrl}`

若响应不成功,可对应[错误码表](https://www.qg.net/doc/1838.html),排查问题。
## 四、编写采集程序
测试代理可用后,便可开始编写代理采集程序了。
青果提供了多种编程语言的代码示例供开发者参考,
详情查看
- [隧道代理 Go 语言接入指南](https://www.qg.net/doc/1872.html)
- [隧道代理 Python 语言接入指南](https://www.qg.net/doc/1879.html)
**注:**青果代理IP产品都有相对应的IP存活周期,其有效时长是从提取到IP时算起,超过这个时长IP会失效。
## 五、其他应用
####参数规则
| 参数 | 含义 | 格式 |示例
| ---------- | --------------------------- | ---------------------- |----------------------- |
| -A- | 指定地区(单个) | -A-{地区编码} |-A-120100(天津) |
| -C- | 指定通道 | -C-{通道名} |-C-tunnel3 |
| -S- | 指定通道(同 -C-) | -S-{通道名} |-S-tunnel1 |
| -T- | 指定存活时长(秒) | -T-{秒数} | -T-60 |
* -A- 格式支持拼在authkey后面,也支持拼在authpwd后面。国内代理仅支持通过地区编码指定地区。编码详见 国内区域编码表。
兼容旧格式 :A、:C、:T(如 :A120100、:Cchannel-1、:T60),旧格式仅支持拼在密码后面。
####参数拼接说明
所有参数不区分位置,可以拼接在 Authkey(用户名) 后面,也可以拼接在 AuthPwd(密码) 后面,也可以两边同时拼接,顺序不固定。
```curl
curl -x {Authkey}{参数}:{AuthPwd}{参数}@{隧道服务器} {目标url}
```
示例:
```curl
# 参数全部拼在 Authkey 后面
curl -x authkey-C-tunnel1-A-120100-T-60:password@tun-szbhry.qg.net:25889 myip.ipip.net
# 参数全部拼在 AuthPwd 后面
curl -x authkey:password-C-tunnel1-T-60-A-120100@tun-szbhry.qg.net:25889 myip.ipip.net
# 参数分散在两边
curl -x authkey-T-60:password-A-120100-C-tunnel1@tun-szbhry.qg.net:25889 myip.ipip.net
```
* 优先级: 当两侧同时指定了相同参数时,密码侧优先。
####指定使用某个国家的IP
隧道代理每次请求会随机更换IP,通过 -A- 可将随机范围限定到某个地区。
使用英文缩写
```curl
curl -x authkey:password-A-120100@tun-szbhry.qg.net:25889 myip.ipip.net
// 或
curl -x authkey-A-120100:password@tun-szbhry.qg.net:25889 myip.ipip.net
```
如果两侧同时指定了地区,密码侧优先:
```curl
// 用户名指定天津(120100),密码指定北京(110100),最终使用北京IP
curl -x authkey-A-120100:password-A-110100@tun-szbhry.qg.net:25889 myip.ipip.net
```
地区编码详见 [国内区域编码表](https://www.qg.net/doc/2281.html)。
####保持IP不变
如果需要多个请求维持同一个IP(如登录 + 获取数据),可通过 -T- 指定存活时长(单位:秒)。
隧道代理下,-T- 必须与 -S-(或 -C-)同时传或同时不传。 通道名为任意非特殊符号字符串。
```curl
// 参数全在密码侧
curl -x authkey:password-S-tunnel1-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数全在用户名侧
curl -x authkey-S-tunnel1-T-30:password@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数分布在两侧
curl -x authkey-T-30:password-S-tunnel1@tun-szbhry.qg.net:25889 myip.ipip.net
```
注意: 仅指定 -T- 而不指定通道,无法保证IP不变。
####组合使用
多个参数可以自由组合,顺序不限。
```curl
// 参数全在密码侧
curl -x authkey:password-A-120100-C-tunnel3-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数分布在两侧
curl -x authkey-A-120100:password-S-tunnel1-T-30@tun-szbhry.qg.net:25889 myip.ipip.net
// 参数全在用户名侧
curl -x authkey-A-110100-S-tunnel2-T-30:password@tun-szbhry.qg.net:25889 myip.ipip.net
```