1

HTTPPUTリクエストがいつ完了したかを判断する方法を誰かが知っているかどうか疑問に思っています。例:

    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 に答える