发送post请求:
public static String sendPost(String url , String params , String formData) throws Exception{
StringBuilder builder = new StringBuilder();
if(!(params == null || params.length() == 0) ){
url += ("?" + params );
}
URL Url = new URL(url );
URLConnection conn = Url.openConnection();
//如果设置代理 , 和发送GET一样.
conn.setRequestProperty("accept", "*/*" );
conn.setRequestProperty("Connection", "Keep-Alive" );
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36");
//设置之后就可以发送POST请求了
conn.setDoInput(true );
conn.setDoOutput(true );
//获取它的输出流 , 直接写入post请求
PrintWriter writer = new PrintWriter(conn.getOutputStream() );
writer.print(formData );
writer.flush();
//获取浏览器的返回数据
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream() ) );
String line = reader.readLine();
line = new String(line.getBytes() , "utf-8" ); //解决乱码的问题
while(line != null ){
builder.append(line + "\r\n" );
line = reader.readLine();
}
reader.close();
writer.close();
return builder.toString();
}
接收请求中的参数:
// 本地主动调用改接口上传本地更新内容数据
@ResponseBody
@RequestMapping("getLocalData")
public FantasticResult getLocalData(String mdNum, HttpServletRequest request) {
FantasticResult result = new FantasticResult();
String data = "";
try {
String inputLine = "";
StringBuffer sb = new StringBuffer();
BufferedReader bufReader;
bufReader = request.getReader();
while ((inputLine = bufReader.readLine()) != null) {
sb.append(inputLine);
}
data = sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
if (StringUtils.isBlank(mdNum) || StringUtils.isBlank(data)) {
result.setMessage("参数错误!");
result.setStatus(false);
}
if (StringUtils.isNotBlank(data)) {
result = synService.getLocalUpdateData(mdNum, data);
}
return result;
}