public class UrlConnectionUtils {
/**get方式 map传递头部参数 参数可null **/
public static String sendRequestByGet(String url,Map<String,String> map) throws Exception{
HttpURLConnection httpURLConnection;
InputStream input=null;
BufferedReader reader=null;
try {
URL sendUrl = new URL(url);
httpURLConnection = (HttpURLConnection)sendUrl.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setDoOutput(true); //指示应用程序要将数据写入URL连接,其值默认为false
httpURLConnection.setUseCaches(false);
httpURLConnection.setConnectTimeout(30000); //30秒连接超时
httpURLConnection.setReadTimeout(30000); //30秒读取超时
httpURLConnection.setRequestProperty("contentType", "utf-8");
if(map != null){
//设置头部参数
httpURLConnection.setRequestProperty(null, map.get(null));
}
httpURLConnection.connect();
input=httpURLConnection.getInputStream();
reader=new BufferedReader(new InputStreamReader(input,"UTF-8"));
StringBuilder builder=new StringBuilder();
String s="";
while ((s = reader.readLine()) != null) {
builder.append(s);
}
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
input.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
/**
* get方式 map传递头部参数 参数可null
* param 可为null --> id=32&name=liYang&sex=nan
* **/
public static String sendRequestByGet(String url,Map<String,String> map,String param) throws Exception{
HttpURLConnection httpURLConnection;
InputStream input=null;
BufferedReader reader=null;
try {
URL sendUrl=null;
if(StringUtils.isBlank(param)){
sendUrl = new URL(url);
}else{
sendUrl = new URL(url+"?"+param);
}
httpURLConnection = (HttpURLConnection)sendUrl.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setDoOutput(true); //指示应用程序要将数据写入URL连接,其值默认为false
httpURLConnection.setUseCaches(false);
httpURLConnection.setConnectTimeout(30000); //30秒连接超时
httpURLConnection.setReadTimeout(30000); //30秒读取超时
httpURLConnection.setRequestProperty("contentType", "utf-8");
if(map != null){
//设置头部参数
httpURLConnection.setRequestProperty(null, map.get(null));
}
httpURLConnection.connect();
input=httpURLConnection.getInputStream();
reader=new BufferedReader(new InputStreamReader(input,"UTF-8"));
StringBuilder builder=new StringBuilder();
String s="";
while ((s = reader.readLine()) != null) {
builder.append(s);
}
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
input.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
/**
* post方式
* map传递头部参数 参数可null
* json(contentType)字符串参数 可为null
* **/
public static String sendRequestByPost(String url,Map<String,String> map,String json) throws Exception{
HttpURLConnection httpURLConnection;
InputStream input=null;
BufferedReader reader=null;
try {
URL sendUrl = new URL(url);
httpURLConnection = (HttpURLConnection)sendUrl.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true); //指示应用程序要将数据写入URL连接,其值默认为false
httpURLConnection.setUseCaches(false);
httpURLConnection.setConnectTimeout(30000); //30秒连接超时
httpURLConnection.setReadTimeout(30000); //30秒读取超时
httpURLConnection.setRequestProperty("contentType", "application/Json; charset=UTF-8");
if(map != null){
//设置头部参数
httpURLConnection.setRequestProperty(null, map.get(null));
}
httpURLConnection.connect();
//传入参数
if(!StringUtils.isBlank(json)){
OutputStream output=httpURLConnection.getOutputStream();
output.write(json.getBytes());
output.flush();
output.close();
}
input=httpURLConnection.getInputStream();
reader=new BufferedReader(new InputStreamReader(input,"UTF-8"));
StringBuilder builder=new StringBuilder();
String s="";
while ((s = reader.readLine()) != null) {
builder.append(s);
}
return builder.toString();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
input.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
}
HttpURLConnection get post 方式请求 (笔记)
最新推荐文章于 2021-10-19 14:30:37 发布