全球-独享代理(地区锁)-提取资源接口
## 海外独占-提取资源
`https://overseas.proxy.qg.net/monopolize`
### 输入参数
| 参数名称 | 必选 | 类型 | 描述 |
| -------- | ---- | ------- | ------------------------ |
| key | 是 | String | 公共参数,产品唯一标识。 |
| area | 否 | Integer | 按地区提取。 |
| num | 否 | Integer | 提取数量。默认:1 |
### 输出参数
| 参数名称 | 类型 | 描述 |
| ---------- | ----------------- | ------------------------------------------------------------ |
| code | String | 请求状态码。 |
| data | Array of Monopoly | 独占资源列表。 |
| request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 |
### 输入示例
```
GET https://overseas.proxy.qg.net/monopolize?key=<您的key信息>&<其他输入参数>
```
### 输出示例
```json
{
"code": "SUCCESS",
"data": [
{
"uuid": "jike-hk:ppp497",
"area": "日本",
"area_code": 992600,
"state": "等待中",
"monopolize_time": "2026-06-12 15:08:31"
}
],
"request_id": "a6e4392e-f045-4755-b584-bbf4bb8bede6"
}
```
---
##
常见购买问题
## 在哪里购买?我想先测试一下怎么办?
我们为新用户提供6小时免费试用,马上联系客服开通试用。
另外,所有产品均提供包天(独享产品除外)套餐,用户可购买体验。[ 进入购买页面 >](https://www.qg.net/business/proxyip.html)
## 可以提供发票吗?
- 可以的,购买后可直接在会员中心--财务管理--发票管理去[申请发票 >](https://www.qg.net/user/bill/apply)。
- 我们提供含税电子发票(普票/专票),您可自己在开票记录中下载;
## 我无法用支付宝或微信在线支付怎么办?
您还可以线下汇款,支持银行卡转账,在会员中心--财务管理--充值管理中查看线下转账信息和转账流程。

## 购买后可以退款吗?
除了日付周付业务订单,满足退款条件是可以申请退款的。
对于满足条件的新购测试订单用户可享受无理由退款政策,其他情况享受常规退款政策。
## 无理由退款政策
- 满足退款条件的订单7天无理由退款;
## 常规退款政策
- 订单7天内可申请按剩余使用时长退款,超过时间不支持退款;
- 退款金额 = 订单金额 - 已使用时长扣除金额。
## 购买后能更换产品吗?
订单支付成功后是无法更换产品的;
如果您在使用中发现已购买的产品不适合,请申请退款后重新购买其它产品。
隧道代理开发者指南
青果隧道代理与其他形式的代理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
```
隧道代理-使用指南-开发版
青果隧道代理与其他形式的代理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
```
短效代理-使用指南-开发版
青果为有经验的开发者提供多种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
```
短效代理(全球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)-按量提取-提取IP资源接口
## 1. 接口描述
接口请求域名: overseas.proxy.qg.net。
本接口 (/get) 用于全球HTTP-短效代理产品 按量提取模式下提取IP的接口。
默认接口请求频率限制:60次/分钟。
推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html?type=5-2)。
需注意,如使用白名单IP,请在提取前添加白名单。
## 2. 输入参数
| 参数名称 | 必选 | 类型 | 描述 |
| -------- | ---- | ------- | ------------------------------------------------------------ |
| key | 是 | String | 公共参数,产品唯一标识。 |
| area | 否 | String | 国家筛选。支持国家编码和自定义编码,比如:US,EU,或者990100,990200。[国家编码](https://www.qg.net/doc/use/8_234_201/1975.html) |
| area_ex | 否 | String | 排除某些地区提取。使用方式同上 |
| num | 否 | Integer | 提取个数,默认为1 |
| keep_alive | 否 | Integer | 存活时长,在存活周期范围内,默认最短 |
## 3. 输出参数
| 参数名称 | 类型 | 描述 |
| ---------- | ----------------------------------------------- | ------------------------------------------------------------ |
| code | String | 请求状态码。 |
| data | Array of [IP](https://www.qg.net/doc/1839.html) | IP资源列表。
**注:IP结构中的server才是代理地址,proxy_ip是代理的真实出口IP。** |
| request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 |
## 4. 示例
#### 输入示例
```
GET https://overseas.proxy.qg.net/get?key=<您的key信息>&<其他输入参数>
```
#### 输出示例
```json
{
"code": "SUCCESS",
"data": [{
"proxy_ip": "129.150.42.240",
"server": "129.150.42.240:18080",
"area": "新加坡",
"deadline": "2023-02-25 15:38:36"
}],
"request_id": "83158ebe-be6c-40f7-a158-688741083edc"
}
```
## 5. 错误码
| 错误码 | 描述 |
| ---------------------- | ------------------------------------------------------------ |
| INTERNAL_ERROR | 系统内部异常。 |
| INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 |
| INVALID_KEY | Key不存在或已过期。 |
| UNAVAILABLE_KEY | Key不可用,已过期或被封禁 |
| ACCESS_DENY | Key没有此接口的权限。 |
| API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyipResource)。 |
| KEY_BLOCK | Key被封禁。 |
| REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 |
| BALANCE_INSUFFICIENT | Key余额不足。 |
| NO_RESOURCE_FOUND | 资源不足。 |
| FAILED_OPERATION | 提取失败。 |
| EXTRACT_LIMIT_EXCEEDED | 超出提取配额。 |
短效代理(全球HTTP)-按量提取-查询余额接口
## 1. 接口描述
接口请求域名: overseas.proxy.qg.net。
本接口 (/balance) 用于全球HTTP-短效代理产品按量提取模式下查询余量的接口。
默认接口请求频率限制:60次/分钟。
推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html?type=5-2)。
## 2. 输入参数
| 参数名称 | 必选 | 类型 | 描述 |
| -------- | ---- | ------ | ------------------------ |
| key | 是 | String | 公共参数,产品唯一标识。 |
## 3. 输出参数
| 参数名称 | 类型 | 描述 |
| ------------ | ------- | ------------------------------------------------------------ |
| code | String | 请求状态码。 |
| data.balance | Integer | key的流量余量。 |
| request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 |
## 4. 示例
#### 输入示例
```
GET https://overseas.proxy.qg.net/balance?key=<您的key信息>
```
#### 输出示例
```json
{
"code": "SUCCESS",
"data": {
"balance": 9999
},
"request_id": "83158ebe-be6c-40f7-a158-688741083edc"
}
```
## 5. 错误码
| 错误码 | 描述 |
| ---------------------- | ------------------------------------------------------------ |
| INTERNAL_ERROR | 系统内部异常。 |
| INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 |
| INVALID_KEY | Key不存在或已过期。 |
| UNAVAILABLE_KEY | Key不可用,已过期或被封禁 |
| ACCESS_DENY | Key没有此接口的权限。 |
| API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyipResource)。 |
| KEY_BLOCK | Key被封禁。 |
| REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 |
短效代理-通道提取-提取IP接口
## 1. 接口描述
接口请求域名: share.proxy.qg.net。
本接口 (/get) 用于短效代理产品通道提取模式下提取IP的接口。
默认接口请求频率限制:(通道数*5+10)次/分钟。
推荐使用调试工具进行调试,[调试工具](https://www.qg.net/tools/IPdebug.html)。
## 2. 输入参数
| 参数名称 | 必选 | 类型 | 描述 |
| -------- | ---- | ------- | ------------------------------------------------------------ |
| key | 是 | String | 公共参数,产品唯一标识。 |
| area | 否 | String | 按地区提取。支持多地区筛选,逗号隔开。比如:"350500,330700"。 |
| area_ex | 否 | String | 排除某些地区提取。支持多地区排除,用逗号隔开。比如:"440100,450000"。 |
| isp | 否 | Integer | 按运营商提取。
0: 不筛选
1: 电信
2: 移动
3: 联通 |
| num | 否 | Integer | 提取个数,默认为1。 |
| distinct | 否 | Bool | 去重提取,默认为false。如果为true则不会提取到已经在使用的IP资源。 |
##### 请注意,指定和排除地区,最多支持5个。
## 3. 输出参数
| 参数名称 | 类型 | 描述 |
| ---------- | ----------------------------------------------- | ------------------------------------------------------------ |
| code | String | 请求状态码。 |
| data | Array of [IP](https://www.qg.net/doc/1839.html) | IP资源列表。
**注:IP结构中的server才是代理地址,proxy_ip是代理的真实出口IP。** |
| request_id | String | 唯一请求ID,每次请求都会返回。定位问题时需要提供该次请求的 request_id。 |
## 4. 示例
#### 输入示例
```
GET https://share.proxy.qg.net/get?key=<您的key信息>&<其他输入参数>
```
#### 输出示例
```json
{
"code": "SUCCESS",
"data": [
{
"proxy_ip": "123.54.55.24",
"server": "123.54.55.24:59419",
"area": "河南省商丘市",
"isp": "电信",
"deadline": "2023-02-25 15:38:36"
}
],
"request_id": "83158ebe-be6c-40f7-a158-688741083edc"
}
```
## 5. 错误码
| 错误码 | 描述 |
| ---------------------- | ------------------------------------------------------------ |
| INTERNAL_ERROR | 系统内部异常。 |
| INVALID_PARAMETER | 参数错误(包含参数格式、类型等错误)。 |
| INVALID_KEY | Key不存在或已过期。 |
| UNAVAILABLE_KEY | Key不可用,已过期或被封禁 |
| ACCESS_DENY | Key没有此接口的权限。 |
| API_AUTH_DENY | Api授权不通过,请检查[Api鉴权配置](https://www.qg.net/user/proxyIpManage)。 |
| KEY_BLOCK | Key被封禁。 |
| REQUEST_LIMIT_EXCEEDED | 请求频率超出限制。 |
| BALANCE_INSUFFICIENT | Key余额不足。 |
| NO_RESOURCE_FOUND | 资源不足。 |
| FAILED_OPERATION | 提取失败。 |
| EXTRACT_LIMIT_EXCEEDED | 超出提取配额。 |