0.0.3: 增加https ssl白名单,跳过认证;增加查询高度层的接口,
parent
b92795b619
commit
6a5be20d82
@ -0,0 +1,22 @@
|
||||
package com.htfp.weather.utils.ssl;
|
||||
|
||||
import okhttp3.Interceptor;
|
||||
import okhttp3.Response;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class HostInterceptor implements Interceptor {
|
||||
private static final ThreadLocal<String> hostnameHolder = new ThreadLocal<>();
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Response intercept(Chain chain) throws IOException {
|
||||
hostnameHolder.set(chain.request().url().host());
|
||||
return chain.proceed(chain.request());
|
||||
}
|
||||
|
||||
public static String getCurrentHostname() {
|
||||
return hostnameHolder.get();
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.htfp.weather.utils.ssl;
|
||||
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.HttpsURLConnection;
|
||||
import javax.net.ssl.SSLSession;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class SelectiveHostnameVerifier implements HostnameVerifier {
|
||||
private List<String> trustedDomains;
|
||||
private final HostnameVerifier defaultVerifier = HttpsURLConnection.getDefaultHostnameVerifier();
|
||||
|
||||
public SelectiveHostnameVerifier(){}
|
||||
|
||||
public SelectiveHostnameVerifier(List<String> trustedDomains) {
|
||||
this.trustedDomains = trustedDomains;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean verify(String hostname, SSLSession session) {
|
||||
if (!CollectionUtils.isEmpty(trustedDomains) && trustedDomains.contains(hostname)) {
|
||||
// 白名单域名:跳过主机名验证
|
||||
return true;
|
||||
} else {
|
||||
// 其他域名:使用默认验证
|
||||
return defaultVerifier.verify(hostname, session);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.htfp.weather.web.param.response;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data @NoArgsConstructor @AllArgsConstructor
|
||||
public class LevelsAvailableResponse {
|
||||
List<LevelsAvailable> levelsAvailableList;
|
||||
@Data @NoArgsConstructor @AllArgsConstructor
|
||||
public static class LevelsAvailable {
|
||||
String dataSource;
|
||||
List<Integer> pressureLevels;
|
||||
List<Integer> heightLevels;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue