我按照以下方式制作一个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)
)
);
我必须得到值from the response like msg etc
。
所以我的问题是如何检索从post call
请有人帮助我...
答案 0 :(得分:4)
使用以下任何一项:
byte[] data = method.getResponseBody();
String text = method.getResponseBodyAsString();
InputStream is = method.getResponseBodyAsStream();
处理完内容后,请不要忘记致电method.releaseConnection()
(特别是当您使用method.getResponseBodyAsStream()
时)!
答案 1 :(得分:3)
将您的HttpClient
更改为org.apache.http.client.HttpClient
界面。
HttpClient httpClient = new DefaultHttpClient();
..
HttpResponse response = httpClient.execute(...);
在内部响应对象中,您将找到所需内容。