package cn.trans88.taxiappkotlin.util; import android.util.Log; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.List; import java.util.concurrent.TimeUnit; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.SSLSession; import okhttp3.Callback; import okhttp3.Dns; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class OkHttpTool { private OkHttpClient client; private volatile static OkHttpTool instance; public static OkHttpTool getInstance() { if (instance == null) { synchronized (OkHttpTool.class) { if (instance == null) { instance = new OkHttpTool(); } } } return instance; } private OkHttpTool() { client = new OkHttpClient.Builder() .connectTimeout(80, TimeUnit.SECONDS) .readTimeout(80, TimeUnit.SECONDS) .writeTimeout(80, TimeUnit.SECONDS) .build();; } /** * 发送异步请求 * @param url * @param callback */ public void sendRequest(String url, Callback callback){ Request request = new Request.Builder().url(url).build(); client.newCall(request).enqueue(callback); } /** * 发送同步请求 * @param url * @return * @throws IOException */ public Response sendSyncRequest(String url) throws IOException { Request request = new Request.Builder().url(url).build(); return client.newCall(request).execute(); } public String getVistor(String url, String token) { Log.i("TAG", "token:" + token); // Headers headers = new Headers.Builder().add("token",token).build(); Request request = new Request.Builder().get().url(url + "?dataKey=" + token).build(); try { Response response = client.newCall(request).execute(); if (response.isSuccessful() && response.code() == 200) { return response.body().string(); } } catch (IOException e) { e.printStackTrace(); } return null; } }