代理请求新增AES加密 优化代理请求时数据传递 补全

1105075896@qq.com 7 years ago
parent 7373b57eab
commit 6ff227c9c6

@ -15,8 +15,7 @@ public class MBaseModelImpl {
.connectTimeout(10, TimeUnit.SECONDS) .connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(10, TimeUnit.SECONDS) .readTimeout(10, TimeUnit.SECONDS)
.addNetworkInterceptor(new ProxyInterceptor()) .addInterceptor(new ProxyInterceptor());
.addInterceptor(new RetryIntercepter(1));
protected Retrofit getRetrofitObject(String url) { protected Retrofit getRetrofitObject(String url) {
return new Retrofit.Builder().baseUrl(url) return new Retrofit.Builder().baseUrl(url)

@ -13,13 +13,19 @@ import okhttp3.Response;
public class ProxyInterceptor implements Interceptor { public class ProxyInterceptor implements Interceptor {
public ProxyInterceptor() { public ProxyInterceptor() {
} }
@Override @Override
public Response intercept(Chain chain) throws IOException { public Response intercept(Chain chain) throws IOException {
Request request = chain.request(); Request request = chain.request();
Response response = request(chain,request);
return response;
}
private Response request(Chain chain,Request request) throws IOException{
Response response = null;
if (ProxyManager.hasProxy()) { //如果是代理模式则优先请求代理服务器,失败再自行本地请求 if (ProxyManager.hasProxy()) { //如果是代理模式则优先请求代理服务器,失败再自行本地请求
Request requestProxy = null;
String url = request.url().toString(); String url = request.url().toString();
if (!StringUtil.isBlank(url)) { if (!StringUtil.isBlank(url)) {
url = URLEncoder.encode(url, "utf-8"); url = URLEncoder.encode(url, "utf-8");
@ -34,12 +40,22 @@ public class ProxyInterceptor implements Interceptor {
}else{ }else{
requestProxyBuilder.post(request.body()); requestProxyBuilder.post(request.body());
} }
Response responseProxy = chain.proceed(requestProxyBuilder.build()); requestProxy = requestProxyBuilder.build();
if(responseProxy.isSuccessful()){ try{
return responseProxy; response = chain.proceed(requestProxy);
if(response.isSuccessful()){
return response;
}
}catch (Exception e){
e.printStackTrace();
}finally {
if(response!=null){
response.close();
response = null;
}
} }
} }
Response response = chain.proceed(request); response = chain.proceed(request);
return response; return response;
} }
} }

@ -15,7 +15,7 @@ public class BaseModelImpl {
.connectTimeout(10, TimeUnit.SECONDS) .connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS)
.readTimeout(10, TimeUnit.SECONDS) .readTimeout(10, TimeUnit.SECONDS)
.addInterceptor(new RetryIntercepter(1)); .addNetworkInterceptor(new RetryIntercepter(1));
protected Retrofit getRetrofitObject(String url) { protected Retrofit getRetrofitObject(String url) {
return new Retrofit.Builder().baseUrl(url) return new Retrofit.Builder().baseUrl(url)

Loading…
Cancel
Save