Java 从HttpClient PostMethod获取整个响应

Java 从HttpClient PostMethod获取整个响应,java,http-post,httpclient,httpresponse,Java,Http Post,Httpclient,Httpresponse,我创建了一个如下所示的post方法: try { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(VERIFY_PAYMENT_ACTIONURL); // key is the parameter // MERCHANT_KEY is the value method.addP

我创建了一个如下所示的post方法:

try {
            HttpClient client = new HttpClient();
            PostMethod method = new PostMethod(VERIFY_PAYMENT_ACTIONURL);

            // key is the parameter
            // MERCHANT_KEY is the value
            method.addParameter("key", MERCHANT_KEY.trim());
            method.addParameter("command", VERIFY_PAYMENT_COMMAND.trim());
            method.addParameter("hash", hash);
            method.addParameter("var1", transactionID);
            method.addParameter("salt", ALGORIHTM_SHA512_SALT_KEY.trim());

            int statusCode = client.executeMethod(method);

        } catch (Exception e) {
            e.printStackTrace();
        }
array('status' => '1',
'msg' => 'Transaction Fetched Successfully',
'transaction_details' =>
array(
unknown)
)
);
这很好,我得到了
200
作为statusCode,因为该方法是成功的。我想得到整个响应,因为我必须根据返回的响应做更多的功能

来自服务器的响应如下所示:

try {
            HttpClient client = new HttpClient();
            PostMethod method = new PostMethod(VERIFY_PAYMENT_ACTIONURL);

            // key is the parameter
            // MERCHANT_KEY is the value
            method.addParameter("key", MERCHANT_KEY.trim());
            method.addParameter("command", VERIFY_PAYMENT_COMMAND.trim());
            method.addParameter("hash", hash);
            method.addParameter("var1", transactionID);
            method.addParameter("salt", ALGORIHTM_SHA512_SALT_KEY.trim());

            int statusCode = client.executeMethod(method);

        } catch (Exception e) {
            e.printStackTrace();
        }
array('status' => '1',
'msg' => 'Transaction Fetched Successfully',
'transaction_details' =>
array(
unknown)
)
);
我必须从msg等响应中获取值

因此,我这里的问题是如何检索从
post调用返回的response对象


请有人帮我把你的
HttpClient
改成
org.apache.http.client.HttpClient
界面

HttpClient httpClient = new DefaultHttpClient();
..
HttpResponse response = httpClient.execute(...);

在响应对象内部,您将找到您想要的。

HttpClient
更改为
org.apache.http.client.HttpClient
接口

HttpClient httpClient = new DefaultHttpClient();
..
HttpResponse response = httpClient.execute(...);
在response对象中,您将找到所需的内容。

使用以下任一选项:

byte[] data = method.getResponseBody();
String text = method.getResponseBodyAsString();
InputStream is = method.getResponseBodyAsStream();
处理完内容后,不要忘记调用
方法.releaseConnection()
(尤其是在使用
方法.getResponseBodyAsStream()
)时

使用以下任何一种:

byte[] data = method.getResponseBody();
String text = method.getResponseBodyAsString();
InputStream is = method.getResponseBodyAsStream();

处理完内容后,不要忘记调用
方法.releaseConnection()
(尤其是在使用
方法.getResponseBodyAsStream()
)时

我使用method.getResponseBodyAsString,它打印出我的部分响应,但不是完整响应,响应已被切断..我使用method.getResponseBodyAsString,它打印出我的部分响应,但不是完整响应,响应已被切断。。