java - 从 HttpClient PostMethod 获取整个响应

标签 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.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/

相关文章:

java - 更新到 api 19 后 Google Maps V2 崩溃

Git pull 后 Java 项目源文件夹丢失,但 Eclipse 说它们存在

python - Django 在发送 POST 请求时返回 403 错误

flutter - Http Post 在 Postman 中工作,但在 Flutter 中没有

java - 从文件列表中删除文件

java - 您可以从 Pentaho Kettle 访问 Java 系统属性吗?

java - 我在来自 Java 客户端的 Http Post 请求中收到无效参数错误

java - HttpClient 4.2.2 和带用户名/密码的代理

c# - HttpClient 导致 mscorlib 中的 Node<Object> 泄漏

c# - System.Net.Http 与 Microsoft.Net.Http