Java后端发出post请求带参数并接收返回的json

Posted CANYON

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java后端发出post请求带参数并接收返回的json相关的知识,希望对你有一定的参考价值。

核心代码:

参数格式:

“key1=value1&key2=value2”

/**
*  sendUrl    (远程请求的URL)
*  param    (远程请求参数)
*  JSONObject    (远程请求返回的JSON)
*/
private
JSONObject sendPostUrl(String url, String param){ PrintWriter out = null; BufferedReader in = null; JSONObject jsonObject = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流(设置请求编码为UTF-8) out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "UTF-8")); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 获取请求返回数据(设置返回数据编码为UTF-8) in = new BufferedReader( new InputStreamReader(conn.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } jsonObject = JSONObject.fromObject(result); System.out.println(jsonObject); } catch (IOException e) { e.printStackTrace(); } finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return jsonObject; }

调用方法:

public JSONObject send(String username, String password){
        String params = "username=" + username+ "&password=" + password;
        JSONObject jsonObject = sendPostUrl("https://www.ysy7.com/login/", params);
        return jsonObject;
    }

 






以上是关于Java后端发出post请求带参数并接收返回的json的主要内容,如果未能解决你的问题,请参考以下文章

java代码发送post请求,并接收xml文件。。。 发送请求时要带参数

Java发送POST请求,参数为JSON格式,并接收返回JSON数据

vue中axios发送post请求,后端(@RequestParam)接不到参数

PHP 后台怎么接收post请求的参数

java后台获取网页ajax数据和返回数据简单源码

FormData如何向后端传递数组