Arronlong / httpclientutil

该项目基于HttpClient-4.4.1封装的一个工具类。提供了更为简单的GET、POST及上传下载等功能。同时支持插件式配置Http-Header(包含自定义header)、配置SSL和Proxy等。
https://blog.csdn.net/xiaoxian8023/category_9264781.html
Apache License 2.0
1.41k stars 719 forks source link

请求 httpsssl报错 #53

Open jornsky opened 3 years ago

jornsky commented 3 years ago

Exception in thread "main" com.arronlong.httpclientutil.exception.HttpProcessException: javax.net.ssl.SSLException: Received fatal alert: protocol_version at com.arronlong.httpclientutil.HttpClientUtil.execute(HttpClientUtil.java:462) at com.arronlong.httpclientutil.HttpClientUtil.send(HttpClientUtil.java:377) at com.arronlong.httpclientutil.HttpClientUtil.post(HttpClientUtil.java:128) at com.github.binarywang.demo.wx.mp.utils.HttpRequestUtilsTest.main(HttpRequestUtilsTest.java:60) Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version

//最简单的使用: HCB hcb = HCB.custom() //.timeout(1000) //超时 .pool(100, 10) //启用连接池,每个路由最大创建10个链接,总连接数限制为100个 .sslpv("TLSv1.2") //可设置ssl版本号,默认SSLv3,用于ssl,也可以调用sslpv("TLSv1.2") .ssl() //https,支持自定义ssl证书路径和密码,ssl(String keyStorePath, String keyStorepass) .retry(5) //重试5次 ;

    HttpClient client = hcb.build();

    Map<String, Object> map = new HashMap<String, Object>();
    map.put("key1", "value1");
    map.put("key2", "value2");

    //插件式配置请求参数(网址、请求参数、编码、client)
    HttpConfig config = HttpConfig.custom()

        .timeout(1000)      //超时
        .url(url)           //设置请求的url

// .map(map) //设置请求参数,没有则无需设置 .encoding("utf-8") //设置请求和返回编码,默认就是Charset.defaultCharset() .client(client) //如果只是简单使用,无需设置,会自动获取默认的一个client对象 //.inenc("utf-8") //设置请求编码,如果请求返回一直,不需要再单独设置 //.inenc("utf-8") //设置返回编码,如果请求返回一直,不需要再单独设置 .json("{\n" + " \"current_openid\": \"199\",\n" + " \"gzhid\": \"1\"\n" + "\n" + "}") //json方式请求的话,就不用设置map方法,当然二者可以共用。 //.context(HttpCookies.custom().getContext()) //设置cookie,用于完成携带cookie的操作 //.out(new FileOutputStream("保存地址")) //下载的话,设置这个方法,否则不要设置 //.files(new String[]{"d:/1.txt","d:/2.txt"}) //上传的话,传递文件路径,一般还需map配置,设置服务器保存路径 ;

    //使用方式:

    String result2 = HttpClientUtil.post(config);   //post请求

    System.out.println(result2);