/**
* GET请求数据
* @param apiUrl 请求地址
* @return
* @throws Exception
*/
public String getApiUrl(String apiUrl) throws Exception {
Map<String, Object> headers = new HashMap<>();
headers.put("X-Requested-With","XMLHttpRequest");
headers.put("Content-Type","application/json;charset=UTF-8");
return doGet(apiUrl, headers);
}
/**
* POST请求数据
* @param apiUrl 请求地址
* @param paramsJSON 请求参数 json字符串
* @return
* @throws Exception
*/
public String postApiUrl(String apiUrl ,String paramsJSON ) throws Exception {
Map<String, Object> headers = new HashMap<>();
headers.put("X-Requested-With","XMLHttpRequest");
headers.put("Content-Type","application/json;charset=UTF-8");
return doPost(apiUrl , paramsJSON, headers);
}
/**
* POST请求
* @param url 请求地址
* @param paramsJSON 请求参数 json字符串
* @param headers 请求头
* @return
*/
public String doPost(String url, String paramsJSON, Map<?,?> headers){
Date startDate = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
BufferedReader in = null;
try {
System.out.println(dateFormat.format(startDate) + " doPost开始:" + url+"\t"+ paramsJSON);
// 定义HttpClient
HttpClient client = HttpClientBuilder.create().build();
// 实例化HTTP方法
HttpPost request = new HttpPost();
request.setURI(new URI(url));
//设置参数
request.setEntity(new StringEntity(paramsJSON, Charset.forName("UTF-8")));
for (Iterator<?> iter = headers.keySet().iterator(); iter.hasNext(); ) {
String name = (String) iter.next();
String value = String.valueOf(headers.get(name));
request.setHeader(name, value);
}
HttpResponse response = client.execute(request);
int code = response.getStatusLine().getStatusCode();
if (code == 200) { //请求成功
in = new BufferedReader(new InputStreamReader(response.getEntity()
.getContent(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
System.out.println(dateFormat.format(new Date()) + " doPost结束:" + url+"\t"+paramsJSON);
return sb.toString();
} else { //
System.out.println("状态码:" + code + " " + url);
return null;
}
} catch (Exception e) {
long diff = new Date().getTime() - startDate.getTime();
long seconds = diff / 1000;
System.out.println("请求异常: " + url + " 耗时" + seconds);
e.printStackTrace();
return null;
}
}
/**
* GET请求
* @param url 请求地址
* @param headers 请求头
* @return
*/
public String doGet(String url, Map<?,?> headers) {
Date startDate = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
BufferedReader in = null;
try {
System.out.println(dateFormat.format(startDate) + " doGet:" + url);
// 定义HttpClient
//HttpClient client = new DefaultHttpClient();
HttpClient client = HttpClientBuilder.create().build();
// 实例化HTTP方法
HttpGet request = new HttpGet();
request.setURI(new URI(url));
for (Iterator<?> iter = headers.keySet().iterator(); iter.hasNext(); ) {
String name = (String) iter.next();
String value = String.valueOf(headers.get(name));
request.setHeader(name, value);
}
HttpResponse response = client.execute(request);
int code = response.getStatusLine().getStatusCode();
if (code == 200) { //请求成功
in = new BufferedReader(new InputStreamReader(response.getEntity()
.getContent(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
return sb.toString();
} else { //
System.out.println("状态码:" + code + " " + url);
return null;
}
} catch (Exception e) {
long diff = new Date().getTime() - startDate.getTime();
long seconds = diff / 1000;
System.out.println("请求异常: " + url + " 耗时" + seconds);
e.printStackTrace();
return null;
}
}
java http请求
于 2022-06-29 16:51:11 首次发布