java后端-携带String参数请求URL
package io.sage.utils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
/**
* 携带参数请求(跨项目)url
*/
public class PushMsg {
public static String pushMsg(String allConfigUrl, String params) {
BufferedReader in = null;
StringBuffer result = null;
try {
//url请求中如果有中文,要在接收方用相应字符转码
URI uri = new URI(allConfigUrl);
URL url = uri.toURL();
URLConnection connection = url.openConnection();
connection.setRequestProperty("Content-type", "application/json; charset=utf-8");
connection.setRequestProperty("Accept-Charset", "utf-8");
connection.setRequestProperty("contentType", "utf-8");
connection.setDoOutput(true);
connection.setDoInput(true);
PrintWriter printWriter = new PrintWriter(connection.getOutputStream());
printWriter.print(params);
printWriter.flush();
connection.connect();
result = new StringBuffer();
//读取URL的响应
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
return result.toString();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return null;
}
}
其中,参数String params可以使用JSONObject.toJSONString(Object)有序转化;
(简单记录一下)