2 qq 33069321 qq_33069321 于 2016.03.24 17:28 提问

HttpURLConnection post 2C

用 HttpURLConnection post请求提交服务器 提交成功 后 , 怎么得到服务器返回的JSON json 里只有提交成功 还有一个状态码。

我用connection.getResponseMessage(); 只是返回的是 个OK 。 我想得到返会的Json

4个回答

Dissle
Dissle   2016.03.24 17:39

connection.getInputStream();
你的问题比较抽象,因为不知道你在请求什么东西。但是获取服务器里返回的东西,应该是这种写法,最后你需要用流去处理一下。

Dissle
Dissle URL url = new URL(httpUrl); HttpsURLConnection con = (HttpsURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.connect(); InputStream inputStream = con.getInputStream();
2 年多之前 回复
love_register
love_register   2016.03.24 17:48

connection.getResponseMessage(); 获取的response的状态信息,或者是null,贴上 api
图片说明
想获取 json 信息,应该先获取到流,用 connection.getInputStream() 返回 InputStream 然后再解析.

love_register
love_register 回复qq_33069321: 楼下给了清晰的代码,你试试可行不
2 年多之前 回复
qq_33069321
qq_33069321 connection.getResponseMessage(); 获得的信息 是 OK 我已经写进服务器了 就是服务器返回的 { "RetMessage": "修改成功!", "RetCode": 1 } 我怎么拿到它
2 年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.24 18:54

你应该处理的是响应数据流里面的信息,读取数据流里面的信息解析成字符串格式,然后用JSON转换工具进行处理。参考代码如下:

 /**
     * 以http方式发送请求,并将请求响应内容以String格式返回
     * @param path    请求路径
     * @param method  请求方法
     * @param body    请求数据
     * @return 返回响应的字符串
     */
    public static String httpRequestToString(String path, String method, String body) {
        String response = null;
        HttpURLConnection conn = null;
        InputStream inputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader bufferedReader = null;
        try {
            URL url = new URL(path);
            conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setDoInput(true);
            conn.setUseCaches(false);
            conn.setRequestMethod(method);
            if (null != body) {
                OutputStream outputStream = conn.getOutputStream();
                outputStream.write(body.getBytes("UTF-8"));
                outputStream.close();
            }

            inputStream = conn.getInputStream();
            inputStreamReader = new InputStreamReader(
                    inputStream, "UTF-8");
            bufferedReader = new BufferedReader(
                    inputStreamReader);
            String str = null;
            StringBuffer buffer = new StringBuffer();
            while ((str = bufferedReader.readLine()) != null) {
                buffer.append(str);
            }

            response = buffer.toString();
        } catch (Exception e) {
            logger.error(e);
        }finally{
            if(conn!=null){
                conn.disconnect();
            }
            try {
                bufferedReader.close();
                inputStreamReader.close();
                inputStream.close();
            } catch (IOException execption) {
                logger.error(execption);
            }
        }
        return response;
    }

然后,对于这个请求响应返回的字符串信息,用JSON处理工具来解析就OK了。

CSDNXIAON
CSDNXIAON   2016.03.30 11:22

HttpURLConnection post 请求
HttpURLConnection POST 上传文件
HttpURLConnection-POST-GSON
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用HttpURLConnection发送POST请求
package com.zyj.core.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;import j
利用原始HttpURLConnection发送POST数据
摘自:http://www.jb51.net/article/73621.htm URLConnection是个抽象类,它有两个直接子类分别是HttpURLConnection和JarURLConnection。另外一个重要的类是URL,通常URL可以通过传给构造器一个String类型的参数来生成一个指向特定地址的URL实例。 每个 HttpURLConnection 实例都可用于
HttpURLConnection post json 数据接口请求
刚开始学习安卓学到post json数据到服务器这里,经过搜集资料整理了一下方法,在此做下备份   方法 /**  * post请求  *  * @param json 为Json字符串  * @param uri 为接口名  */ public static String postHTTP(String uri, String json) {     HttpURLConnection ht
httpUrlConnection post请求 传参数 及客户端接收参数
httpUrlConnection post请求 传参数 及客户端接收参数
网络请求----HttpURLConnection的get,post和图片加载
HttpURLConnection的get,post和图片加载
HttpURLConnection以post传数据时中文乱码的一个解决方法
今天在测试自己写的接口时,后台使用HttpURLConnection,以post方式向服务器的接口传数据。但服务器得到的中文是乱码。度娘一早上没找到合适的解决方法。中午一觉醒来随便把 out.writeBytes(string);  改成      out..write(string.getBytes());    就解决了。(简直是天了噜)。 改了之后的部分代码如下: try { UR
HttpURLConnection post json传参
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST");// 提交模式
Java中使用HttpURLConnection发起POST 请求
1.需求是调用远程的服务器来返回数据,开始想用前端来发送请求采用 jsonp或者cors,发现这两种都需要远程服务器代码有所改变,无奈用后台了。 代码: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStre
HttpURLConnection 、HttpPost、Okhttp 等POST方式发送JSON数据
HttpURLConnection 、HttpPost、Okhttp 等POST方式发送JSON数据的方式,亲测可行
Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
Android中使用HttpURLConnection实现GET POST JSON数据与下载图片