資源簡介
封裝OkHttp的異步求在子線程發起網絡請求post,get,https請求代碼類
代碼片段和文件信息
package?com.flong.utils;
import?java.io.BufferedReader;
import?java.io.ByteArrayOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.security.KeyStore;
import?java.security.SecureRandom;
import?java.security.cert.CertificateException;
import?java.security.cert.CertificateFactory;
import?java.security.cert.X509Certificate;
import?java.util.HashMap;
import?java.util.Map;
import?java.util.concurrent.Semaphore;
import?java.util.concurrent.TimeUnit;
import?javax.net.ssl.HostnameVerifier;
import?javax.net.ssl.SSLContext;
import?javax.net.ssl.SSLSession;
import?javax.net.ssl.SSLSocketFactory;
import?javax.net.ssl.TrustManager;
import?javax.net.ssl.TrustManagerFactory;
import?javax.net.ssl.X509TrustManager;
import?org.slf4j.Logger;
import?org.slf4j.LoggerFactory;
import?okhttp3.Call;
import?okhttp3.Callback;
import?okhttp3.FormBody;
import?okhttp3.MediaType;
import?okhttp3.OkHttpClient;
import?okhttp3.Request;
import?okhttp3.RequestBody;
import?okhttp3.Response;
/**
?*?@Description?
?*?==========================================================================================
?*?參考博客:http://www.cnblogs.com/whoislcj/p/5526431.html
?*? ??http://www.cnblogs.com/yinxiaoqiexuxing/p/5605338.html
?*?==========================================================================================
?*?秒的換算:ms(毫秒)millisecond?μs(微秒)microsecond?ns(納秒)nanosecond?ps(皮秒)picosecond??
?*?秒的換算??http://blog.chinaunix.net/uid-28458801-id-4144886.html
?*?Semaphored的使用:?http://www.cnblogs.com/whgw/archive/2011/09/29/2195555.html?
?*?==========================================================================================
?*?maven導入okhttp與slf4j的jar?瀏覽器打開maven倉庫輸入okhttp和slf4j即可如下:
?*?倉庫官方網:---->>http://mvnrepository.com/
?*?
?*?
?* ????com.squareup.okhttp3
?* ????okhttp
?* ????3.9.1
?*
?*?==========================================================================================
?*?@ClassName???OkHttpClientUtil??
?*?@Date????????2017年7月10日?下午5:39:49??
?*?@Author??????liangjilong??
?*?@Copyright?(c)?All?Rights?Reserved?2017.
?*/
@SuppressWarnings(“all“)
public?class?OkHttpClientUtil?{
private?static?Logger?logger?=?LoggerFactory.getLogger(OkHttpClientUtil.class);
//private?static?String?JSON?=?“application/json;?charset=utf-8“;
private?static?String?MEDIA_TYPE_JSON=?“application/x-www-form-urlencoded;?charset=utf-8“;
/**使用volatile雙重校驗鎖**/
private?static?volatile?Semaphore?semaphore?=?null;
private?static?volatile?OkHttpClient?okHttpClient?=?null;?
/**建立單例模式*/
public?static??Semaphore?getSemaphoreInstance(){
//只能0個線程同時訪問
synchronized?(OkHttpClientUtil.class)?{
if?(semaphore?==?null)?{
semaphore?=?new?Semaphore(0);
}
}
return?semaphore;
}
/**建立單例模式*/
public?static??OkHttpClient?
評論
共有 條評論