java Http请求
1. 发送get请求
/**
* 发送GET请求
*
* @param urlStr 目的地址
* @param params 请求参数,Map类型。
* @return 远程响应结果
*/
public String sendGet(String urlStr, Map<String, String> params) throws Exception {
//拼接urlStr
StringBuffer sb = new StringBuffer();
for(Entry<String, String> entry : params.entrySet()) {
sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());
}
sb.replace(0, 1, "?");
sb.insert(0, urlStr);
//创建url对象
URL url = new URL(sb.toString());
//创建连接对象,我们要使用http连接 所以强转为Http连接对象
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
//连接对象设置通用参数
httpConnection.setRequestProperty("Accept", "*/*");
httpConnection.setRequestProperty("Connection", "Keep-Alive");
httpConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
//建立连接
httpConnection.connect();
// 获取响应头信息
Map<String, List<String>> headers = httpConnection.getHeaderFields();
//获取响应内容
BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), "UTF-8"));
sb = new StringBuffer();
String line = null;
while((line = reader.readLine()) != null) {
sb.append(line);
}
return sb.toString();
}2. 发送post请求
/**
* 发送POST请求
*
* @param urlStr 目的地址
* @param params 请求参数,Map类型。
* @return 远程响应结果
*/
public String sendPost(String urlStr, Map<String, String> params) throws Exception {
StringBuffer sb = new StringBuffer();
for(Entry<String, String> entry : params.entrySet()) {
sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
}
sb.substring(sb.length() - 1, sb.length());
System.out.println(sb.toString());
//创建url对象
URL url = new URL(urlStr);
//创建连接对象,我们要使用http连接 所以强转为Http连接对象
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
//连接对象设置通用参数
httpConnection.setRequestProperty("Accept", "*/*");
httpConnection.setRequestProperty("Connection", "Keep-Alive");
httpConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
// 设置POST方式
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
// 获取HttpURLConnection对象对应的输出流
PrintWriter out = new PrintWriter(httpConnection.getOutputStream());
// 发送请求参数
out.write(sb.toString());
// flush输出流的缓冲
out.flush();
//获取响应内容
BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), "UTF-8"));
sb = new StringBuffer();
String line = null;
while((line = reader.readLine()) != null) {
sb.append(line);
}
return sb.toString();
} 相关推荐
Lzs 2020-10-23
聚合室 2020-11-16
零 2020-09-18
Justhavefun 2020-10-22
ChaITSimpleLove 2020-10-06
周游列国之仕子 2020-09-15
afanti 2020-09-16
88234852 2020-09-15
YClimb 2020-09-15
风雨断肠人 2020-09-04
卖口粥湛蓝的天空 2020-09-15
stulen 2020-09-15
pythonxuexi 2020-09-06
abfdada 2020-08-26
梦的天空 2020-08-25