From a356490cb680edba8fcdd24186ec79a2cfaf6c37 Mon Sep 17 00:00:00 2001 From: wujifei Date: Wed, 27 Jan 2021 16:29:27 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=AE=BE=E7=BD=AEDNS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/cloud/network/NetworkActivity.java | 14 ++- foudations/mogo-commons/build.gradle | 1 - .../com/mogo/cloud/commons/network/HttpDns.kt | 20 ----- .../cloud/commons/network/NetConstants.kt | 19 +++- .../cloud/commons/network/OkHttpFactory.kt | 16 ++-- .../network/interceptor/HttpDnsInterceptor.kt | 26 ++++++ ...nterceptor.kt => HttpHeaderInterceptor.kt} | 2 +- .../interceptor/HttpLoggingInterceptor.kt | 87 +++++++++++++++++++ .../mogo/cloud/commons/utils/NetworkUtils.kt | 48 ---------- 9 files changed, 147 insertions(+), 86 deletions(-) delete mode 100644 foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/HttpDns.kt create mode 100644 foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt rename foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/{HeaderNetworkInterceptor.kt => HttpHeaderInterceptor.kt} (92%) create mode 100644 foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt delete mode 100644 foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/utils/NetworkUtils.kt diff --git a/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java b/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java index 97e841d..fbd33e5 100644 --- a/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java +++ b/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java @@ -34,6 +34,9 @@ import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; +import static com.mogo.cloud.commons.network.NetConstants.GEOFENCE_HOST; +import static com.mogo.cloud.commons.network.NetConstants.REALTIME_LOCATION_HOST; + /** * created by wujifei on 2021/1/21 12:26 * describe: @@ -51,18 +54,17 @@ public class NetworkActivity extends AppCompatActivity { setContentView(R.layout.activity_network); btn = (Button) findViewById(R.id.btn); tvResult = (TextView) findViewById(R.id.tv_result); - apiService = RetrofitFactory.INSTANCE.getInstance("http://dzt-test.zhidaozhixing.com") - .create(ApiService.class); + btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { tvResult.setText("结果显示"); queryRoadData("ZD802C1938L10797"); -// queryHelpSignal("ZD802C1938L10797"); +// queryHelpSignal("F803EB2046PZD00006"); //上报路况到服务端 - // uploadRoadInfo(); + // uploadRoadInfo(); //查询路况 // queryRoad(); } @@ -154,6 +156,8 @@ public class NetworkActivity extends AppCompatActivity { } public void queryRoadData(String sn) { + apiService = RetrofitFactory.INSTANCE.getInstance(GEOFENCE_HOST) + .create(ApiService.class); if (apiService != null) { Map map = new HashMap<>(); map.put("sn", sn); @@ -187,6 +191,8 @@ public class NetworkActivity extends AppCompatActivity { } public void queryHelpSignal(String sn) { + apiService = RetrofitFactory.INSTANCE.getInstance("http://dzt-realtimeLocation.zhidaozhixing.com") + .create(ApiService.class); if (apiService != null) { Map map = new HashMap<>(); map.put("sn", sn); diff --git a/foudations/mogo-commons/build.gradle b/foudations/mogo-commons/build.gradle index 2c8f9e8..2076b8c 100644 --- a/foudations/mogo-commons/build.gradle +++ b/foudations/mogo-commons/build.gradle @@ -53,7 +53,6 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation rootProject.ext.dependencies.androidxccorektx implementation rootProject.ext.dependencies.androidxappcompat - implementation rootProject.ext.dependencies.okhttpinterceptor implementation rootProject.ext.dependencies.retrofit implementation rootProject.ext.dependencies.retrofitadapter implementation rootProject.ext.dependencies.retrofitconvertergson diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/HttpDns.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/HttpDns.kt deleted file mode 100644 index e0635bf..0000000 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/HttpDns.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.mogo.cloud.commons.network - -import android.text.TextUtils -import com.mogo.cloud.commons.utils.getInetAddressByHost -import okhttp3.Dns -import java.net.InetAddress - -/** - * created by wujifei on 2021/1/26 12:51 - * describe: - */ -class HttpDns : Dns { - override fun lookup(hostname: String): List { - val addresses: List = getInetAddressByHost(hostname) - if (!addresses.isEmpty()) { - return addresses - } - return Dns.SYSTEM.lookup(hostname) - } -} \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/NetConstants.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/NetConstants.kt index ad9c349..b9ca2ea 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/NetConstants.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/NetConstants.kt @@ -6,13 +6,26 @@ package com.mogo.cloud.commons.network */ class NetConstants { companion object { + const val TAG = "LogInterceptor" const val READ_TIMEOUT = 20000L const val WRITE_TIMEOUT = 20000L const val CONNECT_TIMEOUT = 15000L - const val HTTP_DNS_ADDRESS_TYPE_HTTP = 0 - const val HTTP_DNS_ADDRESS_TYPE_WS = 1 - const val HTTP_DNS_ADDRESS_TYPE_IM = 2 + const val DEVA_HOST = "http://dzt-deva.zhidaozhixing.com" + const val IM_HOST = "http://dzt-im.zhidaozhixing.com" + const val LAUNCHER_SNAPSHOT_HOST = "http://dzt-launcherSnapshot.zhidaozhixing.com" + const val CHANNEL_MANAGER_HOST = "http://dzt-channelManager.zhidaozhixing.com" + const val DATA_SERVICE_HOST = "http://dzt-dataService.zhidaozhixing.com" + const val REALTIME_LOCATION_HOST = "http://dzt-realtimeLocation.zhidaozhixing.com" + const val INSTANT_HOST = "http://dzt-Instant.zhidaozhixing.com" + const val GEOFENCE_HOST = "http://dzt-geoFenceCarService.zhidaozhixing.com" + const val CARLIFE_HOST = "http://dzt-carlife.zhidaozhixing.com" + const val STRATEGY_PUSH_HOST = "http://dzt-strategyPush.zhidaozhixing.com" + const val TRAVEL_CONDITION_HOST = "http://dzt-travelCondition.zhidaozhixing.com" + const val TMC_HOST = "http://dzt-tmcServer.zhidaozhixing.com" + + const val IM_SOCKET_DOMAIN = "dzt-im.zhidaozhixing.com" + const val WEBSOCKET_DOMAIN = "dzt-Instant.zhidaozhixing.com" } } \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt index 9d32b11..c43720c 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt @@ -5,12 +5,10 @@ import com.mogo.cloud.commons.network.NetConstants.Companion.READ_TIMEOUT import com.mogo.cloud.commons.network.NetConstants.Companion.WRITE_TIMEOUT import com.mogo.cloud.commons.network.SSLSocketFactoryUtils.createSSLSocketFactory import com.mogo.cloud.commons.network.SSLSocketFactoryUtils.createTrustAllManager -import com.mogo.cloud.commons.network.interceptor.HeaderNetworkInterceptor -import com.mogo.cloud.commons.utils.lookup -import okhttp3.Dns +import com.mogo.cloud.commons.network.interceptor.HttpHeaderInterceptor +import com.mogo.cloud.commons.network.interceptor.HttpDnsInterceptor +import com.mogo.cloud.commons.network.interceptor.HttpLoggingInterceptor import okhttp3.OkHttpClient -import okhttp3.logging.HttpLoggingInterceptor -import java.net.InetAddress import java.util.concurrent.TimeUnit @@ -22,16 +20,16 @@ import java.util.concurrent.TimeUnit */ class OkHttpFactory private constructor() { companion object { - val okHttpClient: OkHttpClient by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { + val okHttpClient: OkHttpClient by lazy { OkHttpClient.Builder() - .addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)) - .addNetworkInterceptor(HeaderNetworkInterceptor()) + .addNetworkInterceptor(HttpHeaderInterceptor()) + .addInterceptor(HttpDnsInterceptor()) + .addInterceptor(HttpLoggingInterceptor()) .sslSocketFactory(createSSLSocketFactory(), createTrustAllManager()) .hostnameVerifier(SSLSocketFactoryUtils.TrustAllHostnameVerifier()) .connectTimeout(CONNECT_TIMEOUT, TimeUnit.MILLISECONDS) .readTimeout(READ_TIMEOUT, TimeUnit.MILLISECONDS) .writeTimeout(WRITE_TIMEOUT, TimeUnit.MILLISECONDS) - .dns(HttpDns()) .build() } diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt new file mode 100644 index 0000000..a8e6653 --- /dev/null +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt @@ -0,0 +1,26 @@ +package com.mogo.cloud.commons.network.interceptor + +import com.mogo.cloud.httpdns.MogoHttpDnsClient +import com.mogo.utils.logger.Logger +import okhttp3.Interceptor +import okhttp3.Request +import okhttp3.Response + +/** + * created by wujifei on 2021/1/27 15:57 + * describe: + */ +class HttpDnsInterceptor : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val request: Request = chain.request() + val path: String = request.url().encodedPath() + val query: String? = request.url().encodedQuery() + val host = "http://" + MogoHttpDnsClient.getHttpDnsAddressUseCacheIfNecessary(0, request.url().host().replace("http://", "").replace("https://", "")) + var url = host + path + query?.let { + url=url+"?"+query + } + Logger.d("DomainExchange", """oriHost: ${request.url().host().toString()} newHost: $host newUrl: $url""") + return chain.proceed(request.newBuilder().url(url).build()) + } +} \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HeaderNetworkInterceptor.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpHeaderInterceptor.kt similarity index 92% rename from foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HeaderNetworkInterceptor.kt rename to foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpHeaderInterceptor.kt index 1c92313..966b967 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HeaderNetworkInterceptor.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpHeaderInterceptor.kt @@ -8,7 +8,7 @@ import okhttp3.Response * created by wujifei on 2021/1/20 15:18 * describe:header携带信息 */ -class HeaderNetworkInterceptor : Interceptor { +class HttpHeaderInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val original = chain.request() val request = original.newBuilder() diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt new file mode 100644 index 0000000..830011b --- /dev/null +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt @@ -0,0 +1,87 @@ +package com.mogo.cloud.commons.network.interceptor + +import com.mogo.cloud.commons.network.NetConstants.Companion.TAG +import com.mogo.utils.logger.Logger +import okhttp3.* +import okio.Buffer +import java.io.IOException +import java.nio.charset.Charset +import java.util.concurrent.TimeUnit + +/** + * created by wujifei on 2021/1/27 14:33 + * describe: + */ +class HttpLoggingInterceptor : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val request = chain.request() + val requestBody = request.body() + val hasRequestBody = requestBody != null + var protocol = Protocol.HTTP_1_1.toString() + var body = "" + if (chain.connection() != null && chain.connection()!!.protocol() != null) { + protocol = chain.connection()!!.protocol().toString() + } + + if (hasRequestBody) { + try { + val UTF8 = Charset.forName("UTF-8") + val buffer = Buffer() + requestBody?.writeTo(buffer) + var charset = UTF8 + val contentType = requestBody?.contentType() + if (contentType != null) { + charset = contentType.charset(UTF8) + } + if (charset != null) { + body = buffer.readString(charset) + } + } catch (e: IOException) { + e.printStackTrace() + } + } + + val logMsg = StringBuilder() + .append("------> http request start").append("\r\n") + .append(protocol).append(", ") + .append(request.method()).append(", ") + .append("Request Headers: ").append(request.headers().toString()).append("\r\n") + .append("Url: ").append(request.url()).append("\r\n") + .append("Content-Type: ").append(requestBody?.contentType()).append("\r\n") + .append("Content-Length: ").append(requestBody?.contentLength()).append("\r\n") + .append("Content-body: ").append(body).append("\r\n") + .append("------> http request end").append("\r\n").append("\r\n") + + + val startTime = System.nanoTime() + val response = chain.proceed(chain.request()) + val endTime = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime) + + val responseBody = response.body() + var responseContent: String? = null + var bodySize: String? = null + var contentType: MediaType? = null + var consumedResponse = false + + if (responseBody != null) { + val contentLength = responseBody.contentLength() + bodySize = if (contentLength != -1L) "$contentLength-byte" else "unknown-length" + contentType = responseBody.contentType() + responseContent = responseBody.string() + consumedResponse = true + } + + logMsg.append("------> http response start").append("\r\n") + .append(response.code()).append(" ") + .append(response.message()).append(" ") + .append(response.protocol()).append(" ").append("\r\n") + .append("Response Content: ").append(responseContent).append("\r\n") + .append("Content-Type: ").append(contentType).append("\r\n") + .append("Content-Length: ").append(bodySize).append("\r\n") + .append(" (").append(endTime).append("ms)").append("\r\n") + .append("------> http response end") + Logger.d(TAG, logMsg.toString()) + return if (consumedResponse) response.newBuilder().body(ResponseBody.create(contentType, responseContent)).build() else response + + } +} \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/utils/NetworkUtils.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/utils/NetworkUtils.kt deleted file mode 100644 index d98a46c..0000000 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/utils/NetworkUtils.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.mogo.cloud.commons.utils - -import android.text.TextUtils -import com.mogo.cloud.commons.network.NetConstants.Companion.HTTP_DNS_ADDRESS_TYPE_HTTP -import com.mogo.cloud.httpdns.MogoHttpDnsClient -import java.net.InetAddress -import java.net.UnknownHostException -import java.util.* - -/** - * created by wujifei on 2021/1/20 12:51 - * describe:网络工具 - */ - -/** - * 根据host获取InetAddress - */ -@Throws(UnknownHostException::class) -fun lookup(hostname: String?): List? { - val cacheIp: String? = hostname?.let { MogoHttpDnsClient.getHttpDnsAddressUseCacheIfNecessary(HTTP_DNS_ADDRESS_TYPE_HTTP, it) } - if (cacheIp == null || TextUtils.isEmpty(cacheIp)) { - return emptyList() - } - val info = cacheIp.split(":").toTypedArray() - return if (info.size > 1) { - Arrays.asList(*InetAddress.getAllByName(info[0])) - } else { - Arrays.asList(*InetAddress.getAllByName(cacheIp)) - } -} - - -/** - * 根据host获取InetAddress - */ -@Throws(UnknownHostException::class) -fun getInetAddressByHost(hostname: String): List { - val cacheIp: String? = hostname?.let { MogoHttpDnsClient.getHttpDnsAddressUseCacheIfNecessary(HTTP_DNS_ADDRESS_TYPE_HTTP, it) } - if (cacheIp == null || TextUtils.isEmpty(cacheIp)) { - return emptyList() - } - val info = cacheIp.split(":").toTypedArray() - return if (info.size > 1) { - Arrays.asList(*InetAddress.getAllByName(info[0])) - } else { - Arrays.asList(*InetAddress.getAllByName(cacheIp)) - } -} \ No newline at end of file From 3e3bbab04e4aaf14d8baadb02e5214cace77512d Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 27 Jan 2021 19:28:57 +0800 Subject: [PATCH 2/4] remove unuse code --- .../main/java/com/mogo/cloud/RealTimeActivity.java | 7 ++----- .../cloud/passport/MoGoAiCloudClientConfig.java | 14 -------------- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/mogo/cloud/RealTimeActivity.java b/app/src/main/java/com/mogo/cloud/RealTimeActivity.java index 218e129..c4dfce9 100644 --- a/app/src/main/java/com/mogo/cloud/RealTimeActivity.java +++ b/app/src/main/java/com/mogo/cloud/RealTimeActivity.java @@ -32,10 +32,8 @@ public class RealTimeActivity extends AppCompatActivity implements IMogoCloudOnM snapshotStartButton = findViewById(R.id.snapshotStart); snapshotStartButton.setOnClickListener(view -> { - if (MoGoAiCloudClient.getInstance().getAiCloudClientConfig().isNeedUploadCoordinatesDurationInTime()) { - MoGoAiCloudRealTime.startRealTime(this, "com.mogo.launcher"); - MoGoAiCloudRealTime.registerOnMsgListener(this); - } + MoGoAiCloudRealTime.startRealTime(this, "com.mogo.launcher"); + MoGoAiCloudRealTime.registerOnMsgListener(this); }); snapshotStopButton = findViewById(R.id.snapshotStop); @@ -47,7 +45,6 @@ public class RealTimeActivity extends AppCompatActivity implements IMogoCloudOnM private void setConfig() { MoGoAiCloudClient.getInstance().getAiCloudClientConfig().setIsUseExternalLocation(false); - MoGoAiCloudClient.getInstance().getAiCloudClientConfig().setNeedUploadCoordinatesDurationInTime(true); } public void stopRealTimeService() { diff --git a/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java b/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java index 7df7c7a..941fefe 100644 --- a/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java +++ b/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java @@ -61,11 +61,6 @@ public class MoGoAiCloudClientConfig { */ private boolean mIsUseExternalLocation; - /** - * 是否上传当前位置信息 - */ - private boolean isNeedUploadCoordinatesDurationInTime; - /** * 设置HttpDns的位置监听 */ @@ -267,14 +262,6 @@ public class MoGoAiCloudClientConfig { mIHttpDnsCurrentLocation = IHttpDnsCurrentLocation; } - public boolean isNeedUploadCoordinatesDurationInTime() { - return isNeedUploadCoordinatesDurationInTime; - } - - public void setNeedUploadCoordinatesDurationInTime(boolean needUploadCoordinatesDurationInTime) { - isNeedUploadCoordinatesDurationInTime = needUploadCoordinatesDurationInTime; - } - @Override public String toString() { return "MoGoAiCloudClientConfig{" + @@ -287,7 +274,6 @@ public class MoGoAiCloudClientConfig { ", token='" + token + '\'' + ", sn='" + sn + '\'' + ", mLoopCheckDelay=" + mLoopCheckDelay + - ", isNeedUploadCoordinatesDurationInTime=" + isNeedUploadCoordinatesDurationInTime + ", mIHttpDnsCurrentLocation=" + mIHttpDnsCurrentLocation + '}'; } From 8658f04ddbad36f63eb04f24011f958dd64ec46d Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Wed, 27 Jan 2021 20:22:19 +0800 Subject: [PATCH 3/4] opt host --- .../java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java | 7 +++++-- .../src/main/java/com/mogo/cloud/tanlu/UploadManager.java | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java index 11d25e2..a1648da 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java @@ -4,15 +4,18 @@ import android.content.Context; import android.util.Log; import com.mogo.cloud.commons.network.BaseData; +import com.mogo.cloud.commons.network.NetConstants; import com.mogo.cloud.commons.network.RetrofitFactory; import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback; import com.mogo.cloud.tanlu.bean.RoadInfoRequest; import com.mogo.cloud.tanlu.bean.RoadInfos; +import com.mogo.cloud.tanlu.bean.location.Location; import com.mogo.cloud.tanlu.constant.HttpConstant; import com.mogo.cloud.tanlu.net.TanluApiService; import com.mogo.utils.network.utils.GsonUtil; +import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -48,7 +51,7 @@ public class MogoRoadSearchManager { } public void init () { - apiService = RetrofitFactory.INSTANCE.getInstance(HttpConstant.DEV_HOTS) + apiService = RetrofitFactory.INSTANCE.getInstance(NetConstants.LAUNCHER_SNAPSHOT_HOST) .create(TanluApiService.class); } @@ -67,7 +70,7 @@ public class MogoRoadSearchManager { // location.setLatitude(39.968139); // location.setLongitude(116.411468); // RoadInfoRequest request = new RoadInfoRequest(location, "", list, false, false); -// + // Map map = new HashMap<>(); // map.put("sn", "F803EB2046PZD00228"); // map.put("data", GsonUtil.jsonFromObject(request)); diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java index 9efc316..534fc6c 100644 --- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java +++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java @@ -5,6 +5,7 @@ import android.util.Log; import com.google.gson.Gson; import com.mogo.cloud.commons.network.BaseData; +import com.mogo.cloud.commons.network.NetConstants; import com.mogo.cloud.commons.network.RetrofitFactory; import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.cloud.tanlu.api.ITanluUploadCallback; @@ -46,7 +47,7 @@ public class UploadManager { } public void init () { - apiService = RetrofitFactory.INSTANCE.getInstance(HttpConstant.DEV_HOTS) + apiService = RetrofitFactory.INSTANCE.getInstance(NetConstants.DEVA_HOST) .create(TanluApiService.class); } From 7a7d34ce4a85fda4075e83cd654258da6c1a753d Mon Sep 17 00:00:00 2001 From: wujifei Date: Wed, 27 Jan 2021 21:00:48 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/cloud/commons/network/OkHttpFactory.kt | 2 +- .../network/interceptor/HttpDnsInterceptor.kt | 17 ++++++++++------- .../interceptor/HttpLoggingInterceptor.kt | 10 +++++----- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt index c43720c..61109f2 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/OkHttpFactory.kt @@ -23,8 +23,8 @@ class OkHttpFactory private constructor() { val okHttpClient: OkHttpClient by lazy { OkHttpClient.Builder() .addNetworkInterceptor(HttpHeaderInterceptor()) + .addNetworkInterceptor(HttpLoggingInterceptor()) .addInterceptor(HttpDnsInterceptor()) - .addInterceptor(HttpLoggingInterceptor()) .sslSocketFactory(createSSLSocketFactory(), createTrustAllManager()) .hostnameVerifier(SSLSocketFactoryUtils.TrustAllHostnameVerifier()) .connectTimeout(CONNECT_TIMEOUT, TimeUnit.MILLISECONDS) diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt index a8e6653..ecc2714 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpDnsInterceptor.kt @@ -5,6 +5,7 @@ import com.mogo.utils.logger.Logger import okhttp3.Interceptor import okhttp3.Request import okhttp3.Response +import java.lang.Exception /** * created by wujifei on 2021/1/27 15:57 @@ -13,14 +14,16 @@ import okhttp3.Response class HttpDnsInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val request: Request = chain.request() - val path: String = request.url().encodedPath() - val query: String? = request.url().encodedQuery() - val host = "http://" + MogoHttpDnsClient.getHttpDnsAddressUseCacheIfNecessary(0, request.url().host().replace("http://", "").replace("https://", "")) - var url = host + path - query?.let { - url=url+"?"+query + var url = request.url().toString() + val host = request.url().host() + try { + MogoHttpDnsClient.getHttpDnsAddressUseCacheIfNecessary(0, request.url().host())?.let { + url = url.replace(host, it) + Logger.d("DomainExchange", """oriHost: ${host} newHost: $it newUrl: $url""") + } + } catch (e: Exception) { + Logger.d("DomainExchange", e.toString()) } - Logger.d("DomainExchange", """oriHost: ${request.url().host().toString()} newHost: $host newUrl: $url""") return chain.proceed(request.newBuilder().url(url).build()) } } \ No newline at end of file diff --git a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt index 830011b..13a1bbb 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt +++ b/foudations/mogo-commons/src/main/java/com/mogo/cloud/commons/network/interceptor/HttpLoggingInterceptor.kt @@ -10,7 +10,7 @@ import java.util.concurrent.TimeUnit /** * created by wujifei on 2021/1/27 14:33 - * describe: + * describe:网络日志拦截 */ class HttpLoggingInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { @@ -18,7 +18,7 @@ class HttpLoggingInterceptor : Interceptor { val requestBody = request.body() val hasRequestBody = requestBody != null var protocol = Protocol.HTTP_1_1.toString() - var body = "" + var body = "null" if (chain.connection() != null && chain.connection()!!.protocol() != null) { protocol = chain.connection()!!.protocol().toString() } @@ -44,8 +44,8 @@ class HttpLoggingInterceptor : Interceptor { val logMsg = StringBuilder() .append("------> http request start").append("\r\n") .append(protocol).append(", ") - .append(request.method()).append(", ") - .append("Request Headers: ").append(request.headers().toString()).append("\r\n") + .append(request.method()).append("\r\n") + .append("Request Headers: {").append(request.headers().toString().replace("\n",", ")).append("}\r\n") .append("Url: ").append(request.url()).append("\r\n") .append("Content-Type: ").append(requestBody?.contentType()).append("\r\n") .append("Content-Length: ").append(requestBody?.contentLength()).append("\r\n") @@ -78,7 +78,7 @@ class HttpLoggingInterceptor : Interceptor { .append("Response Content: ").append(responseContent).append("\r\n") .append("Content-Type: ").append(contentType).append("\r\n") .append("Content-Length: ").append(bodySize).append("\r\n") - .append(" (").append(endTime).append("ms)").append("\r\n") + .append("Time: (").append(endTime).append("ms)").append("\r\n") .append("------> http response end") Logger.d(TAG, logMsg.toString()) return if (consumedResponse) response.newBuilder().body(ResponseBody.create(contentType, responseContent)).build() else response