@@ -40,34 +40,4 @@ public final class ConfigurationKeys {
|
|||||||
* ip地址提供器类型
|
* ip地址提供器类型
|
||||||
*/
|
*/
|
||||||
public static final String KEY_IP_PROVIDER_TYPE = "system.ip.provider.type";
|
public static final String KEY_IP_PROVIDER_TYPE = "system.ip.provider.type";
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用HTTP代理
|
|
||||||
*/
|
|
||||||
public static final String KEY_HTTP_PROXY_ENABLE = "system.http.proxy.enable";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTTP代理主机地址
|
|
||||||
*/
|
|
||||||
public static final String KEY_HTTP_PROXY_HOST = "system.http.proxy.host";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTTP代理端口
|
|
||||||
*/
|
|
||||||
public static final String KEY_HTTP_PROXY_PORT = "system.http.proxy.port";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTTP代理是否需要认证
|
|
||||||
*/
|
|
||||||
public static final String KEY_HTTP_PROXY_AUTH = "system.http.proxy.auth";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTTP代理认证用户名
|
|
||||||
*/
|
|
||||||
public static final String KEY_HTTP_PROXY_USERNAME = "system.http.proxy.username";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTTP代理认证密码
|
|
||||||
*/
|
|
||||||
public static final String KEY_HTTP_PROXY_PASSWORD = "system.http.proxy.password";
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,12 +2,13 @@ package com.serliunx.ddns.support.okhttp;
|
|||||||
|
|
||||||
import com.serliunx.ddns.config.Configuration;
|
import com.serliunx.ddns.config.Configuration;
|
||||||
import com.serliunx.ddns.constant.ConfigurationKeys;
|
import com.serliunx.ddns.constant.ConfigurationKeys;
|
||||||
import okhttp3.*;
|
import okhttp3.OkHttpClient;
|
||||||
|
import okhttp3.Request;
|
||||||
|
import okhttp3.Response;
|
||||||
|
import okhttp3.ResponseBody;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
|
||||||
import java.net.Proxy;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,35 +69,10 @@ public final class HttpClient {
|
|||||||
* @param configuration 配置信息
|
* @param configuration 配置信息
|
||||||
*/
|
*/
|
||||||
public static void init(Configuration configuration) {
|
public static void init(Configuration configuration) {
|
||||||
OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
|
||||||
|
|
||||||
Integer overtime = configuration.getInteger(ConfigurationKeys.KEY_HTTP_OVERTIME, DEFAULT_OVERTIME);
|
Integer overtime = configuration.getInteger(ConfigurationKeys.KEY_HTTP_OVERTIME, DEFAULT_OVERTIME);
|
||||||
boolean proxyEnable = configuration.getBoolean(ConfigurationKeys.KEY_HTTP_PROXY_ENABLE, false);
|
|
||||||
boolean authEnable = configuration.getBoolean(ConfigurationKeys.KEY_HTTP_PROXY_AUTH, false);
|
|
||||||
String host = configuration.getString(ConfigurationKeys.KEY_HTTP_PROXY_HOST);
|
|
||||||
Integer port = configuration.getInteger(ConfigurationKeys.KEY_HTTP_PROXY_PORT);
|
|
||||||
String username = configuration.getString(ConfigurationKeys.KEY_HTTP_PROXY_USERNAME);
|
|
||||||
String password = configuration.getString(ConfigurationKeys.KEY_HTTP_PROXY_PASSWORD);
|
|
||||||
|
|
||||||
// 配置代理
|
CLIENT = new OkHttpClient.Builder()
|
||||||
if (proxyEnable) {
|
.connectTimeout(overtime, TimeUnit.SECONDS)
|
||||||
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port));
|
|
||||||
|
|
||||||
builder.proxy(proxy);
|
|
||||||
|
|
||||||
// 是否需要认证
|
|
||||||
if (authEnable) {
|
|
||||||
Authenticator authenticator = (route, response) -> {
|
|
||||||
String credential = Credentials.basic(username, password);
|
|
||||||
return response.request().newBuilder()
|
|
||||||
.header("Proxy-Authorization", credential)
|
|
||||||
.build();
|
|
||||||
};
|
|
||||||
builder.proxyAuthenticator(authenticator);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CLIENT = builder.connectTimeout(overtime, TimeUnit.SECONDS)
|
|
||||||
.readTimeout(overtime, TimeUnit.SECONDS)
|
.readTimeout(overtime, TimeUnit.SECONDS)
|
||||||
.writeTimeout(overtime, TimeUnit.SECONDS)
|
.writeTimeout(overtime, TimeUnit.SECONDS)
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -3,10 +3,4 @@ system.pool.core.size=4
|
|||||||
system.task.refresh.interval.ip=300
|
system.task.refresh.interval.ip=300
|
||||||
system.ip.provider.type=IP_API
|
system.ip.provider.type=IP_API
|
||||||
system.http.overtime=3
|
system.http.overtime=3
|
||||||
system.http.proxy.enable=true
|
|
||||||
system.http.proxy.host=127.0.0.1
|
|
||||||
system.http.proxy.port=7897
|
|
||||||
system.http.proxy.auth=false
|
|
||||||
system.http.proxy.username=username
|
|
||||||
system.http.proxy.password=password
|
|
||||||
instance.aliyun.endpoint.url=alidns.cn-hangzhou.aliyuncs.com
|
instance.aliyun.endpoint.url=alidns.cn-hangzhou.aliyuncs.com
|
||||||
|
|||||||
Reference in New Issue
Block a user