我仍然看到人们使用 HttpURLConnection 与网站进行通信。这个论坛也有很多与 HttpURLConnection 相关的问题。现在,来自 apache 的 HttpClient 几乎可以实现 HttpURLConnection 可以实现的所有功能,而且代码更少、更干净、更高效。我的问题是,
- 作为开发人员,我们应该不鼓励使用 HttpURLConnection 吗?
- 是否有任何用例,其中 HttpURLConnection 的使用应该优于 HttpClient ?
我仍然看到人们使用 HttpURLConnection 与网站进行通信。这个论坛也有很多与 HttpURLConnection 相关的问题。现在,来自 apache 的 HttpClient 几乎可以实现 HttpURLConnection 可以实现的所有功能,而且代码更少、更干净、更高效。我的问题是,
作为开发人员,我们应该不鼓励使用 HttpURLConnection 吗?
不,我不会那样看的。
是否有任何用例,其中 HttpURLConnection 的使用应该优于 HttpClient ?
对于HttpURLConnection
工作做得足够好的非常简单的用例,为了几行更清晰的代码,我不会包含任何依赖项。
对于我要说的任何其他情况,请使用HttpClient
:-)
这种推理适用于所有第 3 方 Java 库。如果这是一个有限的场景,并且如果标准 API 做得足够好,那就去吧。否则,请始终使用使您的生活更轻松的库。例如比较
Caldenar
/Date
与乔达时间Collection
类 vs Guava / Apache Commons如果你拥有完整的源代码,你应该更喜欢 HttpClient。它比 HttpURLConnection 好得多,提供更多功能并为您提供重定向等功能。
对于非常简单的情况,使用它可能是一种开销。也可能存在不允许您使用第三方库的情况。这些是我能想到的不喜欢 HttpClient 的唯一原因。