package com.sandu.ximon.admin.utils;
|
|
import com.sandu.ximon.admin.utils.request.CommonHeader;
|
import org.apache.http.HttpResponse;
|
import org.apache.http.client.methods.HttpPost;
|
import org.apache.http.entity.StringEntity;
|
import org.apache.http.client.methods.HttpGet;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.HttpClients;
|
import org.apache.http.message.BasicHeader;
|
import org.apache.http.protocol.HTTP;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
|
public class VnnoxRequestUtil {
|
|
private static final String UTF8 = "utf-8";
|
|
|
public static String get(String url){
|
CloseableHttpClient client = HttpClients.createDefault();
|
HttpGet get = new HttpGet(url);
|
String result = null;
|
try {
|
HttpResponse httpResponse = client.execute(get);
|
InputStream inStream = httpResponse.getEntity().getContent();
|
|
result = streamToString(inStream,UTF8);
|
|
inStream.close();
|
} catch (Exception e) {
|
return null;
|
}
|
return result;
|
}
|
|
public static String GetWithHeader (String url, String params, CommonHeader header) {
|
CloseableHttpClient client = HttpClients.createDefault();
|
HttpGet get = new HttpGet(url);
|
for(String key: header.keySet()) {
|
get.setHeader(key, header.get(key));
|
}
|
String result = null;
|
try {
|
StringEntity s = new StringEntity(params, UTF8);
|
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
|
"application/json"));
|
HttpResponse httpResponse = client.execute(get);
|
InputStream inStream = httpResponse.getEntity().getContent();
|
|
result = streamToString(inStream, UTF8);
|
|
inStream.close();
|
} catch (Exception e) {
|
return null;
|
}
|
return result;
|
}
|
|
|
|
|
public static String PostWithHeader (String URL, String json, CommonHeader header) {
|
CloseableHttpClient client = HttpClients.createDefault();
|
HttpPost post = new HttpPost(URL);
|
for(String key: header.keySet()) {
|
post.setHeader(key, header.get(key));
|
}
|
String result = null;
|
try {
|
StringEntity s = new StringEntity(json, UTF8);
|
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
|
"application/json"));
|
post.setEntity(s);
|
HttpResponse httpResponse = client.execute(post);
|
InputStream inStream = httpResponse.getEntity().getContent();
|
|
result = streamToString(inStream,UTF8);
|
|
inStream.close();
|
} catch (Exception e) {
|
return null;
|
}
|
return result;
|
}
|
|
|
|
public static String streamToString(InputStream in, String encoding){
|
// 将流转换为字符串
|
try {
|
StringBuffer sb = new StringBuffer();
|
byte[] b = new byte[1024];
|
for (int n; (n = in.read(b)) != -1;) {
|
sb.append(new String(b, 0, n, encoding));
|
}
|
return sb.toString();
|
} catch (IOException e) {
|
e.printStackTrace();
|
throw new RuntimeException("提取 requestBody 异常", e);
|
}
|
}
|
|
}
|