在程序中利用httpurlconnection进行项目中数据的调用
public static HttpURLConnection sendRemotePostRequest(String urlPath, String data){
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) new URL(urlPath).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");//可以传递对象,如果携程text/html对象无法传递
conn.setRequestProperty("Accept-Charset", "utf-8");
conn.setRequestProperty("contentType", "utf-8");
conn.setInstanceFollowRedirects(true);
if(data != null && StringUtils.isNotBlank(data)){
conn.setDoOutput(true); //post请求将参数设置到http的正文内,默认是false
conn.setDoInput(true); //设置是否从httpUrlConnection读入,默认情况下是true;
conn.setUseCaches(false);//Post 请求不能使用缓存
conn.getOutputStream().write(data.getBytes("UTF-8"));//将数据转成字节流进行传递
conn.getOutputStream().flush();
conn.getOutputStream().close();
}
return conn;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String getRemoteResponse(HttpURLConnection conn){
StringBuilder sBuilder = new StringBuilder();
try {
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line = "";
while ((line = in.readLine()) != null) {
sBuilder.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}
return sBuilder.toString();
}