我司推出:印度尼西亚云服务器,付费方式,最低支持日付费
链接:https://www.zzqidc.com/business/haiwaiyun/ydnxyy.html?label_id=90
支持IPV4的同时 支持IPV6,提供100M国际带宽
此示例是通过修改JVM中的网络设置来达到代理的效果,如果程序员有些请求不需要代理可以在代理请求之后再将JVM配置项改回默认项。支持http、https、socks5代理
此代码以http和https代理为例:
package com.zzqidc;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.*;
public class ProxyClient {
//用户key
private static String user = "key";
//用户密码
private static String password = "proxy_password";
//获取到的代理IP
private static String proxyIP = "127.0.0.1";
//获取到的代理端口
private static String proxyPort = "1080";
public static void main(String[] args) {
// 下面http、https代理和socks5代理只需要设置一个就可以
// 使用http代理和https代理
System.setProperty("http.proxySet", "true");
// 发起http请求时使用的代理服务器配置
System.setProperty("http.proxyHost", proxyIP);
System.setProperty("http.proxyPort", proxyPort);
// 发起https请求时使用的代理服务器配置
System.setProperty("https.proxyHost", proxyIP);
System.setProperty("https.proxyPort", proxyPort);
// 这行代码是身份验证的关键配置,不然身份验证不起作用
System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
System.setProperty("jdk.http.auth.proxying.disabledSchemes", "");
// 身份验证
Authenticator.setDefault(
new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
user, password.toCharArray());
}
}
);
sendRequest("http://httpbin.org/get");
sendRequest("https://httpbin.org/get");
}
public static void sendRequest(String urlStr) {
URL url;
BufferedReader in;
StringBuilder result = new StringBuilder();
try {
url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
conn.disconnect();
System.out.println("http status code:" conn.getResponseCode());
System.out.println("body: " result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
如需使用socks5代理可以将main函数中的代码替换为:
// 使用socks5代理配置
System.setProperty("socksProxyHost", proxyIP);
System.setProperty("socksProxyPort", proxyPort);
System.setProperty("socksProxyVersion", "5");
System.setProperty("java.net.socks.username", user);
System.setProperty("java.net.socks.password", password);
通过编码使用隧道共享代理主要有以下两步骤:
(1)购买成功后,先在会员中心查看隧道信息,进行本地调试和验证;查看测试步骤>>
(2)参考代码样例请求隧道代理访问目标网站。
隧道共享代理API接口一览
接口类型 | API | 描述 |
---|---|---|
资源相关 | - 隧道域名:9090/proxyip | - 用于申请隧道切换IP |
白名单相关 | - whitelist/query - whitelist/add - whitelist/del |
- 调用 whitelist/query查询IP的白名单 - 调用whitelist/add添加IP的白名单 - 调用whitelist/del删除IP的白名单 |
目前隧道代理仅支持IP白名单相关接口。
隧道域名:9090/proxyip ;
方法:PUT ;
本接口用于切换隧道IP。
需要注意的是尽管接口的域名和隧道代理的域名一致,但端口不一致。
参数名 | 是否必选 | 类型 | 描述 |
---|---|---|---|
auth_key | 是 | String | 本接口取值:申请隧道切换IP的AuthKey值。 |
password | 是 | String | 本接口取值:申请隧道切换IP的帐密密码AuthPwd值 |
接口可返回json格式,字段说明如下:
参数名 | 类型 | 描述 |
---|---|---|
deadline | String | IP到期时间 |
proxyip | String | 切换获取的IP详情 |
请求接口示例:
curl -X PUT -d "auth_key=XXX&password=XXXXXX" tunnel.zzqidc:9090/proxyip
返回示例:
{
"deadline": "2022-03-17 12:07:11",
"proxyip": "115.211.231.84:33622"
}
错误码 | 描述 |
---|---|
400 | 参数错误、用户不存在或帐密错误 |
500 | 暂无可用的IP |
简要描述:
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
suid | 是 | string | 业务标识 |
输入示例:
返回示例
JSON格式
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": {
"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.zzqidc:3434"
},
"Message":"获取成功"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
RequestId | string | 请求编号 |
Code | integer | 返回状态码 |
Message | string | 返回内容 |
Authkey | string | Authkey |
Number | integer | 通道数 |
Connect | integer | 连接数 |
Buy_time | string | 购买时间 |
End_time | string | 到期时间 |
Order_status | string | 状态 1:正常, 3:过期,-4:开通失败 |
Type | integer | 资源类型 1:独享,2:共享 |
Ip_type | integer | IP类型 1:静态,2:动态,3:隧道 |
Tunnel_url | string | 隧道地址 |
备注
简要描述:
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
suid | 是 | string | 业务标识 |
输入示例:
返回示例
JSON格式
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": {
"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.zzqidc:3434"
},
"Message":"获取成功"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
RequestId | string | 请求编号 |
Code | integer | 返回状态码 |
Message | string | 返回内容 |
Authkey | string | Authkey |
Number | integer | 通道数 |
Connect | integer | 连接数 |
Buy_time | string | 购买时间 |
End_time | string | 到期时间 |
Order_status | string | 状态 1:正常, 3:过期,-4:开通失败 |
Type | integer | 资源类型 1:独享,2:共享 |
Ip_type | integer | IP类型 1:静态,2:动态,3:隧道 |
Tunnel_url | string | 隧道地址 |
备注
简要描述:
输入参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
spec_id | 是 | integer | 按时产品ID |
number | 否 | integer | 通道数,IP类型为静态或动态时必传;IP类型为隧道时不需要传 |
connect | 否 | integer | 连接数,IP类型为隧道时必传;IP类型为静态或动态时不需要传 |
duration | 是 | string | 购买时长 单位: - s: 小时,免费使用时长 例:2s(2小时) - d: 天 例:1d(1天) - w: 周 例:1w(1周) - m: 月 例:1m(1个月) |
输入示例:
返回示例
JSON格式
{
"RequestId":'423369C7-AD6F-3GT6-NMJ7-E2RG5N6HG7D3',
"Code": 200,
"Message": "购买成功",
"Data": {
"AuthKey": "17710BD8",
"AuthPwd": "8560577FC33A",
"Suid": "hryp84er",
"Tunnel_url" : "tunnel.zzqidc:3434"
},
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
RequestId | string | 请求编号 |
Code | integer | 返回状态码 |
Message | string | 返回内容 |
AuthKey | string | AuthKey |
AuthPwd | string | AuthPwd |
Suid | string | 业务标识 |
Tunnel_url | string | 隧道地址 |
备注
简要描述:
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
resource_no | 是 | string | 按量业务标识 |
输入示例:
返回示例
JSON格式
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": {
"Authkey": "3BZEOGS0",
"Number": 10000,
"Buy_time": "2021-03-25 16:15:21",
"End_time": "2023-03-25 16:15:21",
"Order_status": 1,
"Type": 2,
"Ip_type": 2,
"Resource_available": 10000,
"Tunnel_url": "tunnel.zzqidc:3434"
},
"Message":"获取成功"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
RequestId | string | 请求编号 |
Code | integer | 返回状态码 |
Message | string | 返回内容 |
Authkey | string | Authkey |
Number | integer | 按量业务总量 |
Connect | integer | 连接数 |
Buy_time | string | 生效时间 |
End_time | string | 失效时间 |
Order_status | string | 状态 1:正常, 3:过期,-1:已失效,-4:开通失败 |
Type | integer | 资源类型 1:独享,2:共享 |
Ip_type | integer | IP类型 1:静态,2:动态,3:隧道 |
Resource_available | integer | 按量业务余量 |
Tunnel_url | string | 隧道地址 |
备注
简要描述:
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
resource_no | 是 | string | 按量业务标识 |
输入示例:
返回示例
JSON格式
{
"RequestId":"ASDF4ASF-ASDFASF",
"Code": 200,
"Data": {
"Authkey": "3BZEOGS0",
"Number": 10000,
"Buy_time": "2021-03-25 16:15:21",
"End_time": "2023-03-25 16:15:21",
"Order_status": 1,
"Type": 2,
"Ip_type": 2,
"Resource_available": 10000,
"Tunnel_url": "tunnel.zzqidc:3434"
},
"Message":"获取成功"
}
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
RequestId | string | 请求编号 |
Code | integer | 返回状态码 |
Message | string | 返回内容 |
Authkey | string | Authkey |
Number | integer | 按量业务总量 |
Connect | integer | 连接数 |
Buy_time | string | 生效时间 |
End_time | string | 失效时间 |
Order_status | string | 状态 1:正常, 3:过期,-1:已失效,-4:开通失败 |
Type | integer | 资源类型 1:独享,2:共享 |
Ip_type | integer | IP类型 1:静态,2:动态,3:隧道 |
Resource_available | integer | 按量业务余量 |
Tunnel_url | string | 隧道地址 |
备注