Java 从HttpClient PostMethod获取整个响应
我创建了一个如下所示的post方法: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
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,它打印出我的部分响应,但不是完整响应,响应已被切断。。