
用过不少 httpclient , 感觉大部分 client 细节非常多. 但其实对于后端来说,几乎所有的都是非常简单的 json 请求, 用起来颇有一种大炮打蚊子的感觉.
目前公司系统针对各自的请求对 apache httpclient 进行了非常简单的封装,但即便如此,也不具备通用性.想问下各位 V 友,你们是怎么选择 httpclient 的 , 有没有进行过二次封装
1, java 9+ 自带 httpclient(我比较喜欢这种链式调用的,是 java8 没有)
2, apache 原生 httpclient
3, 封装过的 apache httpclient
4, OkHttp
5, Feign
6, RestTemplate
7, Retrofit
1 aidoudou 2020 年 8 月 23 日 3 |
2 wongy 2020 年 8 月 23 日 用的是 hutool-http 工具包 |
3 coetzee 2020 年 8 月 23 日 用的 feign,feign 默认用的 httpclient,但是我们替换成了 OK |
4 flyfanc 2020 年 8 月 23 日 3 |
5 zliea 2020 年 8 月 23 日 via iPhone resttemplate over httpclient/okhttp |
6 lovelive1024 2020 年 8 月 23 日 3 |
7 srx1982 2020 年 8 月 23 日 4 |
8 chendy 2020 年 8 月 23 日 6 ( RestTemplate )套着 2 ( HttpClient ),spring-boot 自动配置 |
9 Foxkeh 2020 年 8 月 23 日 234567 都用, 老项目 234, 新项目 256 |
10 rockyou12 2020 年 8 月 23 日 OkHttp 和 feign 用得多,如果写 android 会用 Retrofit 。基本不管用哪个,多少都要针对业务做封装或配置 |
11 zoharSoul 2020 年 8 月 23 日 okhttp + retrofit |
12 DreamSpace 2020 年 8 月 23 日 via Android restTemplate over okhttp 但是 restTemplate 不好做文件下载 |
13 vimfox 2020 年 8 月 23 日 AsyncHttpClient |
14 skypyb 2020 年 8 月 23 日 via Android jdk9 新增的那个 httpclient 有坑的,不让设置一些敏感的请求头, 而且你本地能跑指不定到服务器上就崩了。 我用 java11 就遇到过。 想要 要关掉这个检查还得上 jdk12 才能有这个设置 |
15 WebKit 2020 年 月 23 日 via Android okhttp |
16 Cyron 2020 年 8 月 23 日 简单请求 Hutool 可以 |
17 ilumer 2020 年 8 月 23 日 feign |
18 zhouhui 2020 年 8 月 23 日 jodd http https://jodd.org/ |
19 xuanbg 2020 年 8 月 23 日 3 对外,5 对内 |
20 sagaxu 2020 年 8 月 23 日 via Android 同步阻塞用 okhttp,唯一不足是不支持带 body 的 GET 请求。 异步和协程用 vertx-web-client 。 都会做些封装,但是发现也没少写很多代码 |
21 qwerthhusn 2020 年 8 月 23 日 非大佬,用的 OkHttp 封装的对外 JDK 自带的 HttpClient 用过,但是在 TLS1.3 的情况下有 BUG,弃用了。不过过了这么久 BUG 可能已经修复了,如果后面有新工程准备用这个重新封装。 对内的话,直接 Feign 了,管他底层是用的 Apache 还是 OkHttp 不用 Apache HttpClient 的原因是,一个模型太复杂,没仔细去看里面详细的东西,文档也不好,官网就几个示例,不像 OkHttp,就一个统一的 OkHttpClient 一把梭;还有一个问题就是版本兼容性不好,4.4 的 API,4.5 发现就编译报错了。 |
22 crossoverJie 2020 年 8 月 23 日 |
23 JadeV 2020 年 8 月 23 日 via iPhone httpclient 有 fluent-hc 这个官方封装的链式调用的 |
24 m1ch3ng 2020 年 8 月 23 日 hutool |
25 em998 2020 年 8 月 23 日 via iPhone 没人用 unirest 么 |
26 kingfalse 2020 年 8 月 23 日 via Android jsoup,不管是爬虫还是平常服务调接口我都用这个 |
27 szuwl 2020 年 8 月 23 日 没有人用 unirest 么 |
28 BBCCBB 2020 年 8 月 23 日 当然是 feign 啊. |
29 oneoy 2020 年 8 月 23 日 via Android 原声 socket |
30 KevinBlandy 2020 年 8 月 23 日 RestTemplate |
31 yeziqing 2020 年 8 月 23 日 JDK11 自带的 HttpClient |
32 cassyfar 2020 年 8 月 23 日 apach httpclient 有什么不好? |
33 Cuo 2020 年 8 月 23 日 via iPhone 个人项目用 4 |
34 Cbdy 2020 年 8 月 23 日 via Android 遇到过 jdk9 的 httpclient 的一些 bug,我用 resttemplate @DreamSpace 你遇到什么下载文件的问题? |
35 micean 2020 年 8 月 23 日 via Android vertx 自带 |
36 tairan2006 2020 年 8 月 23 日 用 4 |
38 jzmws 2020 年 8 月 23 日 spring boot 项目直接用 RestTemplate 很方便 |
39 wdlth 2020 年 8 月 23 日 OKHttp |
40 chocotan 2020 年 8 月 23 日 主要用 okhttp 偶尔用 asynchttpclient |
41 guanhui07 2020 年 8 月 23 日 3 |
42 iFlicker 2020 年 8 月 23 日 via Android HttpURLConnection |
43 arloor 2020 年 8 月 23 日 appache 的 httpclient 5.0 才支持 http2,而且 beta |
44 mango88 2020 年 8 月 23 日 vertx 的 WebClient |
45 sutra 2020 年 8 月 24 日 看情况,大部分情况下,不直接使用 http client,而是选择封装过的。比如只是调用 RESTful API 时,RestTemplate 就很方便。 |
46 unco020511 2020 年 8 月 24 日 原来 java 也能用 retrofit 吗,我以为只有 Android 才用 |
48 abc0 2020 年 8 月 24 日 Requests 不香吗? |
49 wbf1013 2020 年 8 月 24 日 上周哪位用 hutool 的大佬,爬了我们网站[doge] |
50 Yano 2020 年 8 月 24 日 RestTemplate 。如果 postman 请求的话,能直接复制 Java 代码,这时就用 okhttp |
51 JRay 2020 年 8 月 24 日 hutool-http + 1 |
52 seanxx 2020 年 8 月 24 日 5 |
53 william2ct 2020 年 8 月 24 日 3 |
54 nutting 2020 年 8 月 24 日 http2.0 好像很多不支持,okhttp 可以 |
55 qocja 2020 年 8 月 24 日 postman 复制出来的 okttp 代码 |
56 bigpower777 2020 年 8 月 24 日 netty 自己写一个想要什么都有~ |
57 tramm 2020 年 8 月 24 日 okhttp 现在 forest,对 okhttp,httpclient 的封装 |
58 yamasa 2020 年 8 月 24 日 webflux 内的 webclient 。在 reactor 那上面的一套。另外,“. 但其实对于后端来说,几乎所有的都是非常简单的 json 请求”?? 说这种话可要谨慎啊。 |
59 luxinfl 2020 年 8 月 24 日 36 对外,5 对内 |
60 leaderhyh 2020 年 8 月 24 日 Retrofit |
61 Kamiyu0087 2020 年 8 月 24 日 用 HttpURLConnection #手动捂脸 |
62 nxforce 2020 年 8 月 24 日 via Android @Kamiyu0087 不错,识货,用了 10 年了,除非要求强上 http2.0,不然这货就是最简单的选择。 |
63 supermoonie 2020 年 8 月 24 日 via iPhone 我大 Netty 呢 |
64 chachae 2020 年 8 月 24 日 feign |
65 hdfg159 2020 年 8 月 24 日 via Android vertx web client |
66 751762476 2020 年 8 月 25 日 ktor webclient |
67 fivesmallq 2020 年 9 月 22 日 |