Apache已弃用DefaultHttpClient,但似乎Android并非如此,请参阅此处Deprecated Java HttpClient - How hard can it be?
导入
org.apache.httpcomponents:httpclient:4.3.5
而不是
new DefaultHttpClient();
我现在用
HttpClient httpClient = HttpClientBuilder.create().build();
创建一个http客户端。这在Java项目中工作正常,但在Android项目中使用时,缺少以下导入
import org.apache.http.impl.client.HttpClientBuilder;
,而
HttpClient sendClient = new DefaultHttpClient();
在Android中未被标记为已弃用并且编译得很好。
我不想再次添加Apache httpclient(如果我这样做,Android Studio无论如何都会将其排除在外)。
Android文档在此处http://developer.android.com/reference/android/net/http/AndroidHttpClient.html#newInstance(java.lang.String)使用
AndroidHttpClient.new Instance(string)
以“获得具有合理默认值的http客户端”。
有人知道在Android上创建HttpClient的正确方法是什么,以及userAgent字符串是什么!?
答案 0 :(得分:6)
谷歌Android附带了一个非常过时的(BETA之前)版本的Apache HttpClient 4.0。
如果您想在Android上使用较新的Apache HttpClient API,您应该考虑使用official Android port。
答案 1 :(得分:3)
您需要在应用Gradle中添加此行
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'