繁体   English   中英

应该不鼓励使用java.net.HttpURLConnection,因为org.apache.http.client.HttpClient更好吗?

[英]Should use of java.net.HttpURLConnection be discouraged as org.apache.http.client.HttpClient is way better ?

我仍然看到人们使用HttpURLConnection与网站进行通信。 该论坛还有许多与HttpURLConnection相关的问题。 现在,来自apache的HttpClient几乎可以实现HttpURLConnection所能实现的所有功能,代码更少,更清晰,更高效。 我的问题是,

  1. 作为开发人员,我们是否应该不鼓励使用HttpURLConnection?
  2. 是否存在使用HttpURLConnection优于HttpClient的用例?

作为开发人员,我们是否应该不鼓励使用HttpURLConnection?

不,我不会那样看。

是否存在使用HttpURLConnection优于HttpClient的用例?

对于HttpURLConnection能够很好地完成工作的非常简单的用例,我不会为了几行更清晰的代码而包含任何依赖。

对于任何其他情况我会说,使用HttpClient :-)


这种推理适用于所有第三方Java库。 如果这是一个有限的场景,如果标准API能够很好地完成这项工作,那就去吧。 否则,请始终使用能够让您的生活更轻松的库。 比较例如

  • Caldenar / Date vs JodaTime
  • 标准API Collection类与Guava / Apache Commons
  • 您选择的库与标准Java对应的库。

如果你有完整的源代码,你应该更喜欢HttpClient。 它比HttpURLConnection更好,提供更多功能,并为您提供重定向等功能。

对于非常简单的情况,使用它可能是一种开销。 此外,可能存在您不允许使用第三方库的情况。 这些是我认为不喜欢HttpClient的唯一原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM