1

只是想知道是否有人知道如何确定 HTTP PUT 请求何时完成。例如:

    HttpClient http = new DefaultHttpClient();
    HttpPut putmethod = new HttpPut("http://abc.com/SETTINGS.TXT");
    putmethod.setEntity(new StringEntity(data));
    HttpResponse response = http.execute(putmethod);

如何判断文件何时完全传输/写入。我需要监控 HttpResponse 吗?如果是这样,我在寻找什么?

谢谢

4

2 回答 2

3

如果您的请求成功完成,则 http 客户端将返回成功代码 200,如果失败则返回另一个代码(401 页面未找到等)。

因此您可以使用响应检查代码并记录适当的消息。

例子

HttpClient http = new DefaultHttpClient();
HttpPut putmethod = new HttpPut("http://abc.com/SETTINGS.TXT");
putmethod.setEntity(new StringEntity(data));
HttpResponse response = http.execute(putmethod);

if (response.getStatusLine().getStatusCode()  == 200) 
            {
                is = response.getEntity().getContent();
                int ch;
                sb = new StringBuffer();
                while ((ch = is.read()) != -1) {
                    sb.append((char) ch);
                }
                // Log sb . it prints the response you get.
            }
于 2011-06-20T06:39:12.260 回答
0

如果您想检查文件是否已完全传输,请尝试此操作..

String data = EntityUtils.toString(response.getEntity());
System.out.println("Data in .."+data);

在数据中,您将从服务器获得响应...

于 2011-06-20T06:41:57.780 回答