Class HttpUtil

java.lang.Object
cn.sinozg.applet.common.utils.HttpUtil

public class HttpUtil extends Object
HTTP 请求工具类

封装okhttp

  • Field Details

    • READ_TIMEOUT

      private static final int READ_TIMEOUT
      读取超时时间毫秒
      See Also:
    • WRITE_TIMEOUT

      private static final int WRITE_TIMEOUT
      写数据超时时间毫秒
      See Also:
    • CONNECT_TIMEOUT

      private static final int CONNECT_TIMEOUT
      连接超时时间
      See Also:
    • client

      private static volatile okhttp3.OkHttpClient client
    • ssl_client

      private static volatile okhttp3.OkHttpClient ssl_client
    • client302

      private static volatile okhttp3.OkHttpClient client302
    • MAX_IDLE_CONNECTION

      private static final int MAX_IDLE_CONNECTION
      See Also:
    • KEEP_ALIVE_DURATION

      private static final long KEEP_ALIVE_DURATION
      See Also:
    • log

      private static final org.slf4j.Logger log
  • Constructor Details

    • HttpUtil

      private HttpUtil()
  • Method Details

    • getInstance

      public static okhttp3.OkHttpClient getInstance()
      获取单例的okhttp client对象,并配置通用信息
      Returns:
      客户端实例
    • sslInstance

      public static okhttp3.OkHttpClient sslInstance()
      获取单例的okhttp client对象,并配置通用信息 没有越过证书
      Returns:
      客户端实例
    • getInstance302

      public static okhttp3.OkHttpClient getInstance302()
      获取单例的okhttp client对象,用于302请求
      Returns:
      客户端实例
    • location302

      public static String location302(String url, Map<String,String> headerMap)
      请求 302
      Parameters:
      url - 地址
      headerMap - 头map
      Returns:
      返回location
    • getBytes

      public static byte[] getBytes(String url)
      同步GET请求
      Parameters:
      url - 请求地址
      Returns:
      返回get结果
    • doGet

      public static String doGet(String url)
      同步GET请求
      Parameters:
      url - 请求地址
      Returns:
      返回get结果
    • doGet

      public static String doGet(String url, Map<String,String> headerMap)
      同步GET请求
      Parameters:
      url - 请求地址
      headerMap - 请求头
      Returns:
      返回get结果
    • getFile

      public static org.apache.commons.lang3.tuple.ImmutablePair<String,byte[]> getFile(String url, Map<String,String> headerMap)
      获取网络文件
      Parameters:
      url - 地址
      headerMap - 头
      Returns:
      文件名称 文件字节
    • doGetAsync

      public static void doGetAsync(String url, okhttp3.Callback callback)
      异步GET请求
      Parameters:
      url - 请求地址
      callback - 回调
    • doGetAsync

      public static void doGetAsync(String url, Map<String,String> headerMap, okhttp3.Callback callback)
      异步GET请求
      Parameters:
      url - 请求地址
      headerMap - 请求头
      callback - 回调
    • doPost

      public static <T, R> T doPost(String url, Map<String,String> headerMap, R r, Class<T> clazz)
      json 请求
      Type Parameters:
      T - 出参类型
      R - 入参类型
      Parameters:
      url - 参数
      headerMap - 请求头
      r - 入参
      clazz - 出参
      Returns:
      结果
    • doPost

      public static String doPost(String url, Map<String,String> mapParams)
      同步POST请求 form
      Parameters:
      url - 请求地址
      mapParams - 请求参数
      Returns:
      post结果
    • doPost

      public static String doPost(String url, Map<String,String> headerMap, Map<String,String> mapParams)
      同步POST请求 form
      Parameters:
      url - 请求地址
      headerMap - 请求头
      mapParams - 请求参数
      Returns:
      post结果
    • doPost

      public static String doPost(String url, Map<String,String> headerMap, String jsonParams)
      同步POST请求 json
      Parameters:
      url - 请求地址
      headerMap - 请求头
      jsonParams - json参数
      Returns:
      post结果
    • doPostJson

      public static String doPostJson(String url, Map<String,String> headerMap, String params)
      同步POST请求 强制使用 json请求 参数为非json
      Parameters:
      url - 请求地址
      headerMap - 请求头
      params - 非json参数
      Returns:
      post结果
    • doPost

      public static String doPost(String url, String params)
      同步POST请求
      Parameters:
      url - 请求地址
      params - 请求参数
      Returns:
      post结果
    • doPostAsync

      public static void doPostAsync(String url, Map<String,String> headerMap, Map<String,String> mapParams, okhttp3.Callback callback)
      异步POST请求
      Parameters:
      url - 请求地址
      headerMap - 请求头
      mapParams - nap请求参数
      callback - 回调
    • doPostAsync

      public static void doPostAsync(String url, Map<String,String> mapParams, okhttp3.Callback callback)
      异步POST请求
      Parameters:
      url - 请求地址
      mapParams - 请求参数
      callback - 回调
    • doPostAsync

      public static void doPostAsync(String url, Map<String,String> headerMap, String jsonParams, okhttp3.Callback callback)
      异步POST请求
      Parameters:
      url - 请求地址
      headerMap - 请求头
      jsonParams - json请求参数
      callback - 回调
    • doPostAsync

      public static void doPostAsync(String url, String jsonParams, okhttp3.Callback callback)
      异步POST请求
      Parameters:
      url - 请求地址
      jsonParams - json参数
      callback - 回调
    • build

      public static okhttp3.OkHttpClient build(boolean skipSsl, Consumer<okhttp3.OkHttpClient.Builder> c)
      构建客户端
      Parameters:
      skipSsl - 是否跳过证书
      c - 其他参数
      Returns:
      客户端
    • build

      private static okhttp3.OkHttpClient build(boolean redirects, boolean skipSsl)
      构建实例
      Parameters:
      redirects - 是否
      skipSsl - 是否忽略证书
      Returns:
      实例
    • build

      private static okhttp3.OkHttpClient build(boolean redirects, boolean skipSsl, Consumer<okhttp3.OkHttpClient.Builder> c)
      构建实例
      Parameters:
      redirects - 是否
      skipSsl - 是否忽略证书
      c - 其他需要构建的参数
      Returns:
      实例
    • baseGetCall

      private static okhttp3.Call baseGetCall(String url, Map<String,String> headerMap)
      获取通用的GET请求Call
      Parameters:
      url - 请求地址
      headerMap - 头
      Returns:
      call对象
    • basePostCallForm

      private static okhttp3.Call basePostCallForm(String url, Map<String,String> headerMap, Map<String,String> mapParams)
      获取POST发送请求参数的call
      Parameters:
      url - 请求地址
      headerMap - 请求头
      mapParams - 参数map
      Returns:
      call对象
    • basePostCallJson

      private static okhttp3.Call basePostCallJson(String url, Map<String,String> headerMap, String params, boolean isJson)
      获取post请求发送json串的call
      Parameters:
      url - 请求地址
      headerMap - 请求头
      params - 请求参数
      Returns:
      call对象
    • builder

      private static okhttp3.Request.Builder builder(String url, Map<String,String> header)
      创建builder 对象
      Parameters:
      url - 请求地址
      header - 请求头
      Returns:
      build
    • responseBody

      private static <T> T responseBody(okhttp3.Call call, int type)
      获取执行的结果,可以
      Type Parameters:
      T - 结果类型
      Parameters:
      call - call
      type - 类型 1:string 2:bytes 3:headers 4:文件
      Returns:
      结果