2012-02-24 69 views
2

我已经成功地从网上检索http值。检索来自android的http响应

但是,我仍然很少知道我是如何从网上检索价值的。

我有一个代码。但是,如果不理解它,它是为了什么?

所以......我想问三个问题来理解我的代码。

HTTPGet,HTTPClient,EntityUtils

我只是猜测HTTPGet所做的是抓取http编码制作的http数据。

我猜HTTPClient是用于数据封装。

and .. EntityUtils?我真的没有想法。什么是entitiy?为什么我需要这个

HTTPresponse作为字符串?他做什么的?

下面是我的代码。

HttpGet get = new HttpGet(tempURL); 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpResponse response = httpclient.execute(get); 
    String responseBody = EntityUtils.toString(response.getEntity());  
+0

试试这个链接http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html你可以找到你的答案 – Ajay 2012-02-24 10:17:28

回答

1

当您使用GET或POST方法发送HTTP请求时,它会向您发送响应。如果没有什么要发送的,至少服务器发送status code。举例来说,200状态码代表“OK”。

因此,通过使用EntityUtils,或

InputStream inputStream = httpResponse.getEntity().getContent(); 

会给你在人类可读的格式的响应。如果你有一个请求发送到PHP页面,你会回显值作为响应。这些是GETPOST的两个例子,可以理解完整的Android源代码和PHP源代码。

0

包org.apache.http.util

EntityUtils.toString(); 

是其允许http响应的实体的字符串转换成编码格式(编码来自服务器的信息)的方法。

+0

欲了解更多信息请访问http://hc.apache.org/ httpcomponents核-GA /的HttpCore/apidocs /组织/阿帕奇/ HTTP/util的/ EntityUtils.html#的toString%28org.apache.http.HttpEntity%29 – user370305 2012-02-24 10:07:32