• 大小: 22KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Java
  • 标签: OkHttp  

资源简介

封装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 

评论

共有 条评论