获取IP资源池
## 1 接口描述
接口地址:https://proxy.qg.net/extract ;
本接口用于获取IP资源池全部可用的IP信息,该接口仅按时动态共享业务可用;
该接口单个Key的请求频率限制为45次/分钟;
需要注意的是请求方方式只能用GET;
编码:参数和返回内容均采用utf-8编码。
## 2 输入参数说明
| 参数名 | 是否必选 | 类型 | 描述 |
| :------- | :------- | :-------| ------- |
| Key | 是 | String | 申请的Key值 |
| Num | 否 | Integer | 申请的数量;默认为1 |
| AreaId |否 | Integer | 区域ID;默认随机 |
| ISP |否 | Integer | 运营商ID;默认随机 |
| Detail | 否 | Integer | 详情,0:关闭;1:开启;默认为0 |
## 3 返回值
接口可返回文本格式、json格式、xml格式,字段说明如下:
| 参数名 | 类型 | 描述 |
| :----- | :------ | ------------------------------------------ |
| Code | Integer | 结果编码,0:成功;-1:失败 |
| TaskID | Integer | 任务ID |
| Num | Intger | 申请数量 |
| Data | Array | 代理IP数据信息,包含节点IP、端口、失效日期 |
| Msg | String | 公共参数;本接口取值:区域ID |
## 4 示例
请求接口示例:
```
curl "https://proxy.qg.net/extract?Key=请改成您的Key&Pool=1&Detail=1"
```
返回示例:
```json
{
"Code": 0,
"Data": [
{
"IP": "175.43.188.196",
"port": "64450",
"deadline": "2021-11-20 11:32:20",
"host": "175.43.188.196:64450",
"region": "福建省泉州市晋江市联通"
},
{
"IP": "114.238.148.203",
"port": "50938",
"deadline": "2021-11-20 11:32:20",
"host": "114.238.148.203:50938",
"region": "江苏省淮安市电信"
},
{
"IP": "117.92.121.222",
"port": "11136",
"deadline": "2021-11-20 11:32:20",
"host": "117.92.121.222:11136",
"region": "江苏省连云港市电信"
}
],
"Num": 3,
"TaskID": "mw13Wq0srzt9uLEt"
}
```
**重点:如果用户是企业池用户,且参数Pool=2,则返回的IP资源Data结构中的host和IP是不一样的,其他产品下host和IP是一样的。企业池产品中用户使用host进行代理,这时真实的代理IP为IP字段的IP(运营商为移动的情况下可能不会那么准确,即使代理IP可能不通,也都是同一个地区的IP,影响不会大)**
## 5 接口返回错误码
| 错误码 | 描述 |
| ------ | ----------------------- |
| -1 | 未知错误 |
| -10 | 参数不合法 |
| -11 | 请求过于频繁 |
| -12 | Authkey被封禁 |
| -13 | 当前客户端IP不在授权名单中 |
| -14 | Pwd不合法 |
| -15 | Authkey对应的业务无此功能权限 |
| -100 | 计划不存在或已过期 |
| -101 | 请求数量超过计划通道数 |
| -103 | 资源不足 |
| -104 | 资源申请失败 |
提取IP资源
## 1 接口描述
接口地址: https://proxy.qg.net/allocate ;
本接口是用于请求提取代理IP资源的;
请求频率限制:按时业务是(通道数*5+10)次/分钟;按量业务则是60次/分钟;
方法:HTTP、GET,需要注意不能混合使用;
编码:参数和返回内容均采用utf-8编码。
## 2 输入参数说明
|参数名|是否必选|类型|描述|
|:---- |:---|:----- |----- |
|Key |是 |String |申请的Key值 |
| Num |否 |Integer|申请的数量;默认1个 |
|KeepAlive |否 |Integer | IP生存周期,单位:分钟。仅针对动态独享用户有效,默认为1440分钟(24小时) |
|AreaId |否 |Integer |区域ID;默认随机 |
|ISP |否 |Integer | 运营商ID;默认随机 |
|Detail |否 |Integer|详情,0:关闭;1:开启;默认为0 |
|Distinct |否 |Integer|去重,仅针对动态独享有效。0:关闭;1:开启;默认为0 |
## 3 返回值
接口可返回文本格式、json格式、xml格式,字段说明如下:
|参数名|类型|描述|
|:---- |:----- |----- |
|Code |Integer |结果编码,0:成功;-1:失败|
|TaskID |Integer |任务ID|
|Num |Intger |申请数量|
|Data |Array | 代理IP数据信息,包含节点IP、端口、失效日期 |
|Msg |String |区域ID,多个用","分割;\*代表全部|
## 4 示例
请求接口示例:
```
curl "https://proxy.qg.net/allocate?Key=请改成您的Key&Num=1"
```
返回示例:
```
{
"Code": 0,
"TaskID": "91107E16D28AC5A",
"Num": "1",
"Data": [
{
"IP": "127.0.0.1",
"port": "49168",
"deadline": "2018-05-11 02:56:02",
"host": "127.0.0.1:49168"
}
]
}
```
**重点:在共享企业池的产品中使用该接口,提取出来的IP资源Data结构中的host和IP是不一样的,其他产品下host和IP是一样的。企业池产品中用户使用host进行代理,这时真实的代理IP为IP字段的IP(运营商为移动的情况下可能不会那么准确,即使代理IP可能不通,也都是同一个地区的IP,影响不会大)**
## 5 接口返回错误码
| 错误码 | 描述 |
| ------------ | ------------ |
| -1 | 未知错误 |
| -10 | 参数不合法 |
| -11 | 请求过于频繁 |
| -12 | Authkey被封禁 |
| -13 | 当前客户端IP不在授权名单中 |
| -14 | Pwd不合法 |
| -15 | Authkey对应的业务无此权限 |
| -100 | 计划不存在或已过期 |
| -103 | 资源不足 |
| -104 | 申请资源失败 |
| -105 | 申请的IP数超过允许申请的IP数 |
查询已购买按量产品列表
**简要描述:**
- 获取已购买按量产品列表信息。
**参数:**
|参数名|必选|类型|说明|
|:----- |:-----|-----|-----|
|resource_no|否|string|按量业务标识|
|offset|否|int|偏移量,默认为0|
|limit|否|int|限制数目,默认值20;最大值50|
**输入示例一:**
- 查询单业务
- https://qg.net/api/proxyip/resourceView?resource_no=m2BJvcFYQ
**返回示例:**
JSON格式
```
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": {
"Resource_no":"m2BJvcFYQ",
"Authkey": "DOXM4R7T",
"Number": 10000,
"Buy_time": "2021-04-25 14:46:50",
"End_time": "2022-04-25 14:46:50",
"Order_status": 1,
"Type": 1,
"Ip_type": 2,
"Resource_available": 10000,
"Tunnel_url": "tunnel.qg.net:3434"
},
"Message":"获取成功"
}
```
**输入示例二:**
- 查询多业务
- https://qg.net/api/proxyip/resourceView?offset=0&limit=20
**返回示例:**
JSON格式
```
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": [
{
"Resource_no":"m2BJvcFYQ",
"Authkey": "DOXM4R7T",
"Number": 10000,
"Buy_time": "2021-04-25 14:46:50",
"End_time": "2022-04-25 14:46:50",
"Order_status": 1,
"Type": 1,
"Ip_type": 2,
"Resource_available": 10000,
"Tunnel_url": "tunnel.qg.net:3434"
},
{
"Resource_no":"7cCu0BaZv",
"Authkey": "DOXM4R7T",
"Number": 10000,
"Buy_time": "2021-03-25 14:46:50",
"End_time": "2022-03-25 14:46:50",
"Order_status": 1,
"Type": 1,
"Ip_type": 2,
"Resource_available": 10000,
"Tunnel_url": "tunnel.qg.net:3434"
},
]
"Message":"获取成功"
}
```
**返回参数说明:**
|参数名|类型|说明|
|:----- |:-----|----- |
|RequestId |string |请求编号 |
|Code |integer |返回状态码 |
|Message |string |返回内容 |
|Resource_no|string|按量业务标识|
|Authkey |string |Authkey |
|Number |integer |按量业务总量|
|Connect |integer |连接数|
|Buy_time |string |购买时间|
|End_time |string |到期时间|
|Order_status |string |状态 1:正常, 3:过期,-4:开通失败; -5:续费失败, -6:升级失败, -7:锁定|
|Type |integer |资源类型 1:独享,2:共享|
|Ip_type |integer |IP类型 1:静态,2:动态,3:隧道|
|Resource_available |integer |按量业务余量|
|Tunnel_url |string |隧道地址|
**备注:**
更多返回错误代码请看首页的错误代码描述。
查询已购买按时产品列表
**简要描述:**
- 获取已购买按时产品列表信息。
**参数:**
|参数名|必选|类型|说明|
|:----- |:-----|-----|-----|
|suid|否|string|按时业务标识|
|offset|否|int|偏移量,默认为0|
|limit|否|int|限制数目,默认值20;最大值50|
**输入示例一:**
- 查询单业务
- https://qg.net/api/proxyip/view?suid=e325irgb
**返回示例:**
JSON格式
```
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": {
"Suid":"e325irgb",
"Authkey": "78267508",
"Number": 1,
"Buy_time": "2021-04-25 14:46:50",
"End_time": "2022-04-25 14:46:50",
"Order_status": 1,
"Type": 1,
"Ip_type": 2,
"Tunnel_url": "tunnel.qg.net:3434"
},
"Message":"获取成功"
}
```
**输入示例二:**
- 查询多业务
- https://qg.net/api/proxyip/view?offset=0&limit=20
**返回示例:**
JSON格式
```
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": [
{
"Suid":"sdf234sa",
"Authkey": "2BE0556E",
"Number": 3,
"Buy_time": "2021-03-25 14:46:50",
"End_time": "2022-03-28 14:46:50",
"Order_status": 1,
"Type": 1,
"Ip_type": 2,
"Tunnel_url": "tunnel.qg.net:3434"
},
{
"Suid":"e325irgb",
"Authkey": "78267508",
"Number": 1,
"Buy_time": "2021-04-25 14:46:50",
"End_time": "2022-04-25 14:46:50",
"Order_status": 1,
"Type": 1,
"Ip_type": 2,
"Tunnel_url": "tunnel.qg.net:3434"
},
]
"Message":"获取成功"
}
```
**返回参数说明:**
|参数名|类型|说明|
|:----- |:-----|----- |
|RequestId |string |请求编号 |
|Code |integer |返回状态码 |
|Message |string |返回内容 |
|Suid|string|按时业务标识|
|Authkey |string |Authkey |
|Number |integer |通道数|
|Connect |integer |连接数|
|Buy_time |string |购买时间|
|End_time |string |到期时间|
|Order_status |string |状态 1:正常, 3:过期,-4:开通失败; -5:续费失败, -6:升级失败, -7:锁定|
|Type |integer |资源类型 1:独享,2:共享|
|Ip_type |integer |IP类型 1:静态,2:动态,3:隧道|
|Tunnel_url |string |隧道地址|
**备注:**
更多返回错误代码请看首页的错误代码描述。
动态共享代理接口相关
## 1 说明
通过编码使用动态共享代理主要有以下三步骤:
1.先在[提取工具](https://www.qg.net/tools/IPget.html?type=2-2 "提取工具")或[调试工具](https://www.qg.net/tools/IPdebug.html?type=2-2 "调试工具")上提取动态共享代理,进行本地调试和验证;[查看测试步骤>>](https://www.qg.net/doc/1574.html "查看测试步骤")
2.参考[代码样例](https://www.qg.net/list/192.html)请求动态共享代理;
3.在程序中通过调用API接口获取代理,然后请求目标网站。
## 2 API接口
动态共享代理API接口一览
| 接口类型 | API | 描述 |
| ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 资源相关 | - [allocate](https://www.qg.net/doc/174.html "资源申请")
- [extract](https://www.qg.net/doc/1504.html "获取IP资源池")
- [query](https://www.qg.net/doc/175.html "资源查询")
| - 调用 allocate提取代理IP资源
- 调用extract获取IP资源池全部可用的IP信息
- 调用query查询用户可用的代理IP资源列表 |
| 白名单相关 | - [whitelist/query](https://www.qg.net/doc/180.html "whitelist/query")
- [whitelist/add](https://www.qg.net/doc/178.html "whitelist/add")
- [whitelist/del](https://www.qg.net/doc/179.html "删除白名单")
| - 调用 whitelist/query用于查询IP的白名单
- 调用whitelist/add用于添加IP的白名单
- 调用whitelist/del用于删除IP的白名单 |
| 资源信息查询 | - [info/quota](https://www.qg.net/doc/181.html "info/quota")
- [resources](https://www.qg.net/doc/177.html "查询区域资源") | - 调用 info/quota查询IP提取余量
- 调用resources查询平台可用的代理IP资源列表 |
**重点:**动态共享代理区分按时业务和按量业务,按时动态共享代理的默认提取接口是获取IP资源池/[extract](https://www.qg.net/doc/1504.html "获取IP资源池"),按量动态共享代理的默认提取接口是提取IP资源/[allocate](https://www.qg.net/doc/174.html "资源申请");动态共享IP无法自主释放,套餐时长到期自动释放,因此无释放接口。
查询白名单IP
## 1 接口描述
接口地址: https://proxy.qg.net/whitelist/query ;
本接口用于查询IP的白名单。
该接口单个Key的请求频率限制为:60次/分钟;
方法:HTTP、GET,需要注意不能混合使用;
编码:参数和返回内容均采用utf-8编码。
## 2 输入参数说明
|参数名|是否必选|类型|描述|
|:---- |:---|:----- |----- |
|Key |是 |String |查询白名单的Key值
|TaskID |是 |Integer |任务编号ID
|detail |是 |Integer |详情0(关闭) 1(开启)
## 3 返回值
接口可返回文本格式、json格式、xml格式,字段说明如下:
|参数名|类型|描述|
|:---- |:----- |----- |
|Code |Integer |结果编码,0:成功;-1:失败
|Num |Integer |数量
|Data |Array |IP白名单列表
## 4 示例
请求接口示例:
```
curl "https://proxy.qg.net/whitelist/query?Key=请改成您的Key"
```
返回示例:
```
{
"Code": 0,
"Num": 2,
"Data": [
"192.168.1.1",
"192.168.1.2"
]
}
```
## 5 接口返回错误码
| 错误码 | 描述 |
| ------------ | ------------ |
| -1 | 未知错误 |
| -10 | 参数不合法 |
| -11 | 请求过于频繁 |
| -100 | 计划不存在或已过期 |
删除白名单IP
## 1 接口描述
本接口用于删除IP的白名单。接口请求地址https://proxy.qg.net/whitelist/del ;
**注:**该接口单个Key的请求频率限制为:20 次/分钟。
## 2 输入参数说明
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数。
|参数名|是否必选|类型|描述|
|:---- |:---|:----- |----- |
|Key |是 |String |删除白名单的Key值|
|IP |是 |String|白名单IP,多个以逗号", "分隔|
## 3 返回值
|参数名|类型|描述|
|:---- |:----- |----- |
|Code |Integer |结果编码|
|Data |Array|删除成功的白名单数组|
|Num |Integer |删除成功的白名单个数|
## 4 示例
请求参数:
```
curl "https://proxy.qg.net/whitelist/del?Key=请改成您的Key&IP=1.1.1.1,2.2.2.2"
```
返回参数,JSON格式,详情如下:
```
{
"Code": 0,
"Data": [
"1.1.1.1",
"2.2.2.2"
],
"Num": 2
}
```
## 5 接口返回错误码
|错误码|描述|
|:---- |:----- |
| -1 | 未知错误 |
| -10 | 参数不合法 |
| -11 | 请求过于频繁 |
| -100 | 计划不存在或已过期 |
隧道共享代理接口相关
## 1 说明
通过编码使用隧道共享代理主要有以下两步骤:
(1)购买成功后,先在[会员中心](https://www.qg.net/user/ "会员中心")查看隧道信息,进行本地调试和验证;[查看测试步骤>>](https://www.qg.net/doc/1574.html "查看测试步骤>>")
(2)参考[代码样例](https://www.qg.net/doc/1879.html)请求隧道代理访问目标网站。
## 2 API接口
隧道共享代理API接口一览
| 接口类型 | API | 描述 |
| ---------- | --------------------- | ------------------ |
| 白名单相关 | - [whitelist/query](https://www.qg.net/doc/180.html "[whitelist/query]")
- [whitelist/add](https://www.qg.net/doc/178.html "whitelist/add")
- [whitelist/del](https://www.qg.net/doc/179.html "whitelist/del")
| - 调用 whitelist/query查询IP的白名单
- 调用whitelist/add添加IP的白名单
- 调用whitelist/del删除IP的白名单 |
**重点:**目前隧道代理仅支持IP白名单相关接口,隧道代理的使用主要参考[代码示例](https://www.qg.net/doc/1879.html "代码示例")。
更换IP资源
## 1 接口描述
接口地址:https://proxy.qg.net/replace ;
本接口用于替换代理IP;
该接口单个Key的请求频率限制为:(通道数*5)+10 次/分钟;
方法:HTTP、GET,需要注意不能混合使用;
编码:参数和返回内容均采用utf-8编码。
## 2 输入参数说明
|参数名|是否必选|类型|描述|
|:---- |:---|:----- |----- |
|Key |是 |String |更换IP的Key值 |
|KeepAlive |否 |Integer|存活周期;默认动态独享24小时,动态共享默认购买的套餐存活周期时长 |
|AreaId |否 |Integer|区域ID;默认随机 |
|ISP |否 |Integer|运营商ID;默认随机 |
|Num |否 |Integer |申请数量,默认为全部|
|Detail |否 |Integer|详情,0:关闭;1:开启;默认为0|
|Distinct|否|Integer| 去重,0:关闭;1:开启;默认为0|
|DataFormat |否 |String|数据格式,本接口取值:json、html、text ;默认为 json格式|
|DataSeparator |否 |String|分隔符,自定义|
## 3 返回值
接口可返回文本格式、json格式、xml格式,字段说明如下:
|参数名|类型|描述|
|:---- |:----- |----- |
|Code |Integer |结果编码,0:成功;-1:失败|
|TaskID |Integer |任务ID|
|Num |Intger |申请数量|
|Data |Array | 代理IP数据信息,包含节点IP、端口、失效日期 |
|Msg |String |区域ID |
## 4 示例
请求接口示例:
```
curl "https://proxy.qg.net/replace?Key=请改成您的Key"
```
返回示例:
```json
{
"Code": 0,
"TaskID": "91107E16D28AC5A",
"Num": "1",
"Data": [
{
"IP": "127.0.0.1",
"port": "49168",
"deadline": "2018-05-11 02:56:02",
"host": "127.0.0.1:49168"
}
]
}
```
## 5 接口返回错误码
| 错误码| 描述 |
| ---- | ------------ |
| -1 | 未知错误 |
| -10 | 参数不合法 |
| -11 | 请求过于频繁 |
| -12 | Authkey被封禁 |
| -13 | 当前客户端IP不在授权名单中 |
| -14 | Pwd不合法 |
| -15 | Authkey对应的业务无此权限 |
| -100 | 计划不存在或已过期 |
| -103 | 资源不足 |
| -104 | 申请资源失败 |
| -105 | 释放的IP数超过允许释放的IP数 |
释放IP资源
## 1 接口描述
接口地址:https://proxy.qg.net/release ;
本接口用于释放申请到的IP,以便于再次进行IP申请;
该接口接口频率限制是(通道数*5)次/分钟,单个Key的请求资源释放数量限制为:(通道数*2)次/分钟;
方法:HTTP、GET,需要注意不能混合使用;
编码:参数和返回内容均采用utf-8编码。
## 2 输入参数说明
|参数名|是否必选|类型|描述|
|:---- |:---|:----- |----- |
|Key |是 |String |释放的Key值
|TaskID |否 |String|任务ID;多个用","分割;\*代表全部|
|IP |否 |Integer|节点IP;多个用","分割;*代表全部|
PS: TaskID和IP二者选一必填
## 3 返回值
接口可返回文本格式、json格式、xml格式,字段说明如下:
|参数名|类型|描述|
|:---- |:----- |----- |
|Code |Integer |结果编码,0:成功;-1:失败|
## 4 示例
请求接口示例:
```
curl "https://proxy.qg.net/release?Key=请改成您的Key&IP=*"
```
返回示例:
```
{
"Code": 0
}
```
## 5 错误码
| 错误码 | 描述 |
| ------------ | ------------ |
| -1 | 未知错误 |
| -10 | 参数不合法 |
| -11 | 请求过于频繁 |
| -12 | Authkey被封禁 |
| -100 | 计划不存在或已过期 |
| -105 | 释放的IP数超过允许释放的IP数 |
| -106 | 静态IP需要24小时后才能释放 |