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