你好! 我一直在互联网上搜索如何在Android Studio中制作Http Get应用程序,我发现你可以添加
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5'
到Android API级别23的依赖项>。或者
android{
useLibrary 'org.apache.http.legacy'
}
适用于Android API等级23+ 然后我一直在获取Java代码
HttpClient httpClient= HttpClientBuilder.create().build();
HttpGet request= new HttpGet(your_url_to_read);
request.setHeader("k1", "value1");
request.setHeader("k2", "value2");
HttpResponse response= httpClient.execute(request);
System.out.println("Response Code : "+ response.getStatusLine().getStatusCode());
response.getStatusLine().getStatusCode());
//want to read the response content?
BufferedReader rd = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
所以现在我正在寻找一种方法来导入HttpClientBuilder软件包而不降级API级别,或者用Java创建带有标头的Http Get请求的全新方法,例如 "网址" http://www.something.com/random" HEADERS"授权":" 123456ABCDEF"" ,而不是网址中的参数,例如" http://www.something.com/random?authorization=123456ABCDEF"。
感谢正手回答
答案 0 :(得分:0)
只是默认情况下已删除org.apache.http软件包,因此,如果您以API级别23为目标,则需要做一些额外的工作才能使这些工作正常进行。
将useLibrary 'org.apache.http.legacy'
添加到Gradle是解决此问题的一种方法,并且您可以定位到23。但是,您会得到旧的实现,这是有原因的。
手动添加最新版本的Apache HttpClient作为依赖项是一个不错的选择,无论您要定位的是哪个Android版本,它都可以继续工作。
同样,您可以一起使用另一个HTTP库,例如OkHttp。您还可以使用更高级别的库,例如Retrofit。