我连接了一个像下面这样的 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();
}
这工作正常,我得到 200
作为 statusCode 因为该方法是成功的。我希望获得完整的响应,因为我必须根据返回的响应执行更多功能。
来自服务器的响应是如下数组:
array('status' => '1',
'msg' => 'Transaction Fetched Successfully',
'transaction_details' =>
array(
unknown)
)
);
而且我必须从诸如 msg 等的响应中获取值。
所以我的问题是如何检索从post call
请有人帮我解决这个问题..
最佳答案
使用以下任何一个:
byte[] data = method.getResponseBody();
String text = method.getResponseBodyAsString();
InputStream is = method.getResponseBodyAsStream();
不要忘记在处理完内容后调用 method.releaseConnection()
(尤其是在使用 method.getResponseBodyAsStream()
时)!
关于java - 从 HttpClient PostMethod 获取整个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957640/