1

我连接了一个 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();
        }

这工作正常,我得到200statusCode 因为方法是成功的。我希望获得整个响应,因为我必须根据返回的响应执行更多功能。

来自服务器的响应是如下数组:

array('status' => '1',
'msg' => 'Transaction Fetched Successfully',
'transaction_details' =>
array(
unknown)
)
);

我将不得不获得价值from the response like msg etc

所以我的问题是如何检索从post call

有人可以帮我解决这个问题吗?

4

2 回答 2

4

使用任何一个:

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

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

于 2013-09-23T11:10:17.010 回答
3

改变你HttpClientorg.apache.http.client.HttpClient界面。

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

在响应对象中,你会找到你想要的。

于 2013-09-23T11:08:34.057 回答