是否应该阻止使用java.net.HttpURLConnection,因为org.apache.http.client.HttpClient更好?

是否应该阻止使用java.net.HttpURLConnection,因为org.apache.http.client.HttpClient更好?,java,http,httpurlconnection,apache-httpclient-4.x,Java,Http,Httpurlconnection,Apache Httpclient 4.x,我仍然看到人们使用HttpURLConnection与网站进行通信。本论坛还有许多与HttpURLConnection相关的问题。现在,来自apache的HttpClient几乎可以实现HttpURLConnection可以实现的所有功能,只需要更少、更干净和高效的代码。我的问题是, 作为开发人员,我们是否应该总体上不鼓励使用HttpURLConnection 是否存在使用HttpURLConnection优于HttpClient的任何用例 若您拥有完整的源代码,那个么您应该更喜欢HttpCli

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

  • 作为开发人员,我们是否应该总体上不鼓励使用HttpURLConnection
  • 是否存在使用HttpURLConnection优于HttpClient的任何用例

  • 若您拥有完整的源代码,那个么您应该更喜欢HttpClient。它比HttpURLConnection好得多,提供了更多的功能,并为您提供了重定向等服务

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

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

    不,我不会那样看的

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

    对于真正简单的用例,
    HttpURLConnection
    做得足够好,为了几行更清晰的代码,我不会包含任何依赖项

    对于任何其他情况,请使用
    HttpClient
    :-)


    这种推理适用于所有第三方Java库。如果这是一个有限的场景,并且如果标准API做得足够好,那么就使用它。否则,请始终使用使您的生活更轻松的库。比如说

    • Caldenar
      /
      Date
      vs JodaTime
    • 标准API
      Collection
      classes vs Guava/apachecommons
    • 您选择的库与标准Java对应库