我对Android(Java)HttpRequest和HttpResponse有疑问。 我使用Apache库。
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.HttpResponse;
HttpGet httpGet = new HttpGet(uri);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(httpGet);
if(response.getStatusLine().getStatusCode() == 200) {
BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuilder sb = new StringBuilder();
String str = "";
while ((str = br.readLine()) != null) {
sb.append(str);
}
}
响应内容response.getEntity().getContent()
大小约为500KB
我可以说,如果我获得状态代码200并且我可以阅读内容直到EOF(文件结束),那么通过网络传输没有数据丢失吗?
或者我无法确定是否有数据丢失,所以我需要CheckSum机制来检查?
感谢。 埃里克
答案 0 :(得分:0)
我能看到的唯一问题是HTTP / 1.0服务器或中介。如果他们使用TCP FIN结束响应,则响应主体可能会在没有客户知识的情况下提前终止。
我认为我们现在不必担心HTTP / 1.0。如果这样做,您可以设计数据格式,以便在客户端检测到提前终止。