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

java

核心代码:

参数格式:

“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 的全部内容, 来源链接: utcz.com/z/390171.html

回到顶部