88 lines
2.3 KiB
Java
88 lines
2.3 KiB
Java
![]() |
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;
|
||
|
}
|
||
|
|
||
|
}
|