【发布时间】:2013-02-26 12:07:21
【问题描述】:
我要做的就是下载一些 JSON 并将其反序列化为一个对象。我还没有下载 JSON。
我能找到的几乎每一个 HttpClient 示例,包括 apache 网站上的示例,看起来都类似于...
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
public void blah() {
HttpClient client = new DefaultHttpClient();
...
}
但是,Netbeans 告诉我 DefaultHttpClient 已被弃用。我已经尝试在谷歌上搜索DefaultHttpClient deprecated 以及我能想到的许多其他变体,但找不到任何有用的结果,所以我显然遗漏了一些东西。
下载网页内容的正确 Java7 方法是什么?作为语言的一部分,真的没有像样的 Http 客户端吗?我觉得这很难相信。
我的 Maven 依赖项是...
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>LATEST</version>
<type>jar</type>
</dependency>
【问题讨论】:
-
NetBeans 告诉您错误,或者您误读了某些内容。
DefaultHttpClient绝对不会被弃用。您在 POM 中指定了哪个版本? -
在 4.3-alpha1 中似乎已弃用
-
你说得对,httpclient API 是个火车事故
-
我建议您将版本设置为某个主要版本号而不是最新版本。这将允许您手动控制升级过程,而不是让 Maven 为您决定。
-
@Basic 即使在新项目中,它也可能在您处理它时随时更改,如果您没有自己设置它可能会造成混淆。例如,它可以工作并编译,然后您提交代码。第二天有人到达,结帐,它甚至没有编译,因为最新版本发生了变化。当然你可以做你想做的事,但出于这个原因我会避免使用它(版本控制)。
标签: java apache-httpclient-4.x apache-commons-httpclient