类 WebUtils


  • public class WebUtils
    extends java.lang.Object
    网络工具类。
    版本:
    $Id: $Id
    作者:
    modificial
    • 方法概要

      所有方法 静态方法 具体方法 
      修饰符和类型 方法 说明
      static java.lang.String buildQuery​(java.util.Map<java.lang.String,​java.lang.String> params, java.lang.String charset)
      buildQuery.
      static java.lang.String decode​(java.lang.String value)
      使用默认的UTF-8字符集反编码请求参数值。
      static java.lang.String decode​(java.lang.String value, java.lang.String charset)
      使用指定的字符集反编码请求参数值。
      static java.lang.String doGet​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.String> params)
      执行HTTP GET请求。
      static java.lang.String doGet​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.String> params, java.lang.String charset)
      执行HTTP GET请求。
      static java.lang.String doPost​(java.lang.String url, java.lang.String ctype, byte[] content, int connectTimeout, int readTimeout, java.lang.String proxyHost, int proxyPort, java.lang.String sign)
      执行HTTP POST请求。
      static java.lang.String doPost​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.String> params, java.lang.String charset, int connectTimeout, int readTimeout, java.lang.String proxyHost, int proxyPort)
      执行HTTP POST请求,可使用代理proxy。
      static java.lang.String doPost​(java.lang.String url, java.util.Map<java.lang.String,​java.lang.String> params, java.util.Map<java.lang.String,​FileItem> fileParams, java.lang.String charset, int connectTimeout, int readTimeout, java.lang.String proxyHost, int proxyPort)
      执行带文件上传的HTTP POST请求。
      static java.lang.String doPostJson​(java.lang.String url, java.lang.String content, int connectTimeout, int readTimeout, java.lang.String proxyHost, java.lang.Integer proxyPort, java.lang.String sign)
      post请求,请求头为application/json,不使用代理
      static java.lang.String encode​(java.lang.String value)
      使用默认的UTF-8字符集编码请求参数值。
      static java.lang.String encode​(java.lang.String value, java.lang.String charset)
      使用指定的字符集编码请求参数值。
      static java.net.HttpURLConnection getConnection​(java.net.URL url, java.lang.String method, java.lang.String ctype, java.lang.String sign)
      getConnection.
      static java.net.HttpURLConnection getConnection​(java.net.URL url, java.lang.String method, java.lang.String ctype, java.lang.String proxyHost, int proxyPort, java.lang.String sign)
      getConnection.
      protected static java.lang.String getResponseAsString​(java.net.HttpURLConnection conn)
      getResponseAsString.
      static void setKeepAliveTimeout​(int timeout)
      设置KeepAlive连接超时时间,一次HTTP请求完成后,底层TCP连接将尝试尽量保持该超时时间后才关闭,以便其他HTTP请求复用TCP连接
      static void setNeedCheckServerTrusted​(boolean needCheckServerTrusted)
      设置是否校验SSL服务端证书
      static java.util.Map<java.lang.String,​java.lang.String> splitUrlQuery​(java.lang.String query)
      从URL中提取所有的参数。
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • setNeedCheckServerTrusted

        public static void setNeedCheckServerTrusted​(boolean needCheckServerTrusted)
        设置是否校验SSL服务端证书
        参数:
        needCheckServerTrusted - true:需要校验(默认,推荐);

        false:不需要校验(仅当部署环境不便于进行服务端证书校验,且已有其他方式确保通信安全时,可以关闭SSL服务端证书校验功能)

      • setKeepAliveTimeout

        public static void setKeepAliveTimeout​(int timeout)
        设置KeepAlive连接超时时间,一次HTTP请求完成后,底层TCP连接将尝试尽量保持该超时时间后才关闭,以便其他HTTP请求复用TCP连接

        KeepAlive连接超时时间设置为0,表示使用默认的KeepAlive连接缓存时长(目前为5s)

        连接并非一定能保持指定的KeepAlive超时时长,比如服务端断开了连接

        注:该方法目前只在JDK8上测试有效

        参数:
        timeout - KeepAlive超时时间,单位秒
      • doPost

        public static java.lang.String doPost​(java.lang.String url,
                                              java.util.Map<java.lang.String,​java.lang.String> params,
                                              java.lang.String charset,
                                              int connectTimeout,
                                              int readTimeout,
                                              java.lang.String proxyHost,
                                              int proxyPort)
                                       throws java.io.IOException
        执行HTTP POST请求,可使用代理proxy。
        参数:
        url - 请求地址
        params - 请求参数
        charset - 字符集,如UTF-8, GBK, GB2312
        connectTimeout - 连接超时时间
        readTimeout - 请求超时时间
        proxyHost - 代理host,传null表示不使用代理
        proxyPort - 代理端口,传0表示不使用代理
        返回:
        响应字符串
        抛出:
        java.io.IOException - 可能会发生io异常
      • doPost

        public static java.lang.String doPost​(java.lang.String url,
                                              java.lang.String ctype,
                                              byte[] content,
                                              int connectTimeout,
                                              int readTimeout,
                                              java.lang.String proxyHost,
                                              int proxyPort,
                                              java.lang.String sign)
        执行HTTP POST请求。
        参数:
        url - 请求地址
        ctype - 请求类型
        content - 请求字节数组
        connectTimeout - 连接超时时间
        readTimeout - 请求超时时间
        proxyHost - 代理host,传null表示不使用代理
        proxyPort - 代理端口,传0表示不使用代理
        sign - a String object.
        返回:
        响应字符串
      • doPostJson

        public static java.lang.String doPostJson​(java.lang.String url,
                                                  java.lang.String content,
                                                  int connectTimeout,
                                                  int readTimeout,
                                                  java.lang.String proxyHost,
                                                  java.lang.Integer proxyPort,
                                                  java.lang.String sign)
        post请求,请求头为application/json,不使用代理
        参数:
        url - a String object.
        content - a String object.
        connectTimeout - a int.
        readTimeout - a int.
        proxyHost - a String object.
        proxyPort - a Integer object.
        sign - a String object.
        返回:
        a String object.
      • doPost

        public static java.lang.String doPost​(java.lang.String url,
                                              java.util.Map<java.lang.String,​java.lang.String> params,
                                              java.util.Map<java.lang.String,​FileItem> fileParams,
                                              java.lang.String charset,
                                              int connectTimeout,
                                              int readTimeout,
                                              java.lang.String proxyHost,
                                              int proxyPort)
                                       throws java.io.IOException
        执行带文件上传的HTTP POST请求。
        参数:
        url - 请求地址
        params - 文本请求参数
        fileParams - 文件请求参数
        charset - 字符集,如UTF-8, GBK, GB2312
        connectTimeout - 连接超时时间
        readTimeout - 请求超时时间
        proxyHost - 代理host,传null表示不使用代理
        proxyPort - 代理端口,传0表示不使用代理
        返回:
        响应字符串
        抛出:
        java.io.IOException - 可能会发生io异常
      • doGet

        public static java.lang.String doGet​(java.lang.String url,
                                             java.util.Map<java.lang.String,​java.lang.String> params)
        执行HTTP GET请求。
        参数:
        url - 请求地址
        params - 请求参数
        返回:
        响应字符串
      • doGet

        public static java.lang.String doGet​(java.lang.String url,
                                             java.util.Map<java.lang.String,​java.lang.String> params,
                                             java.lang.String charset)
                                      throws java.io.IOException
        执行HTTP GET请求。
        参数:
        url - 请求地址
        params - 请求参数
        charset - 字符集,如UTF-8, GBK, GB2312
        返回:
        响应字符串
        抛出:
        java.io.IOException - 可能会发生io异常
      • getConnection

        public static java.net.HttpURLConnection getConnection​(java.net.URL url,
                                                               java.lang.String method,
                                                               java.lang.String ctype,
                                                               java.lang.String sign)

        getConnection.

        参数:
        url - a URL object.
        method - a String object.
        ctype - a String object.
        sign - a String object.
        返回:
        a HttpURLConnection object.
      • getConnection

        public static java.net.HttpURLConnection getConnection​(java.net.URL url,
                                                               java.lang.String method,
                                                               java.lang.String ctype,
                                                               java.lang.String proxyHost,
                                                               int proxyPort,
                                                               java.lang.String sign)

        getConnection.

        参数:
        url - a URL object.
        method - a String object.
        ctype - a String object.
        proxyHost - a String object.
        proxyPort - a int.
        sign - a String object.
        返回:
        a HttpURLConnection object.
      • buildQuery

        public static java.lang.String buildQuery​(java.util.Map<java.lang.String,​java.lang.String> params,
                                                  java.lang.String charset)
                                           throws java.io.IOException

        buildQuery.

        参数:
        params - a Map object.
        charset - a String object.
        返回:
        a String object.
        抛出:
        java.io.IOException - if any.
      • getResponseAsString

        protected static java.lang.String getResponseAsString​(java.net.HttpURLConnection conn)
                                                       throws java.io.IOException

        getResponseAsString.

        参数:
        conn - a HttpURLConnection object.
        返回:
        a String object.
        抛出:
        java.io.IOException - if any.
      • decode

        public static java.lang.String decode​(java.lang.String value)
        使用默认的UTF-8字符集反编码请求参数值。
        参数:
        value - 参数值
        返回:
        反编码后的参数值
      • encode

        public static java.lang.String encode​(java.lang.String value)
        使用默认的UTF-8字符集编码请求参数值。
        参数:
        value - 参数值
        返回:
        编码后的参数值
      • decode

        public static java.lang.String decode​(java.lang.String value,
                                              java.lang.String charset)
        使用指定的字符集反编码请求参数值。
        参数:
        value - 参数值
        charset - 字符集
        返回:
        反编码后的参数值
      • encode

        public static java.lang.String encode​(java.lang.String value,
                                              java.lang.String charset)
        使用指定的字符集编码请求参数值。
        参数:
        value - 参数值
        charset - 字符集
        返回:
        编码后的参数值
      • splitUrlQuery

        public static java.util.Map<java.lang.String,​java.lang.String> splitUrlQuery​(java.lang.String query)
        从URL中提取所有的参数。
        参数:
        query - URL地址
        返回:
        参数映射