import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.Map;
/**
-
Created by wcy on 2019/7/12.
*/
public class IntfUtil {/**
-
调用接口方
-
@param url 对方或第三方提供的路径
-
@param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析
*/
public static String interfaceUtilForyw(String data,String url) {
HttpPost post = new HttpPost(url);
String result = “”;
try {
post.setHeader(“Content-Type”, “application/json”);
StringEntity entity = new StringEntity(data, “UTF-8”); // 中文乱码在此解决
entity.setContentType(“application/json”);
post.setEntity(entity);
HttpResponse res = HttpClients.createDefault().execute(post);
if (res.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(res.getEntity());// 返回json格式:
}} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}/**
-
接口调用 GET
*/
public static String httpURLConectionGET( String GET_URL) {
StringBuilder sb = new StringBuilder();
try {
URL url = new URL(GET_URL); // 把字符串转换为URL请求地址
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接
connection.connect();// 连接会话
// 获取输入流
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;while ((line = br.readLine()) != null) {// 循环读取流 sb.append(line); } br.close();// 关闭流 connection.disconnect();// 断开连接 System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
System.out.println(“失败!”);
}
return sb.toString();
}
/**
-
接口调用 POST
*/
public static String sendPost(String url, Map<String, Object> parameters) {System.out.println(“请求地址—”+url);
String result = “”;// 返回的结果
BufferedReader in = null;// 读取响应输入流
PrintWriter out = null;
StringBuffer sb = new StringBuffer();// 处理请求参数
String params = “”;// 编码之后的参数
try {
// 编码请求参数
if (parameters.size() == 1) {
for (String name : parameters.keySet()) {
sb.append(name).append("=").append(java.net.URLEncoder.encode( parameters.get(name)+"", “UTF-8”));
}
params = sb.toString();
} else {
for (String name : parameters.keySet()) {
sb.append(name).append("=").append(java.net.URLEncoder.encode(parameters.get(name)+"", “UTF-8”)).append("&");
}
String temp_params = sb.toString();
params = temp_params.substring(0, temp_params.length() - 1);
}
// 创建URL对象
java.net.URL connURL = new java.net.URL(url);
// 打开URL连接
java.net.HttpURLConnection httpConn = (java.net.HttpURLConnection) connURL.openConnection();
// 设置通用属性httpConn.setRequestProperty("Charset", "UTF-8"); httpConn.setRequestProperty("Accept", "*/*"); httpConn.setRequestProperty("Connection", "Keep-Alive"); httpConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); // 设置POST方式 httpConn.setDoInput(true); httpConn.setDoOutput(true); // 获取HttpURLConnection对象对应的输出流 out = new PrintWriter(httpConn.getOutputStream()); // 发送请求参数 out.write(params); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应,设置编码方式 in = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8")); String line; // 读取返回的内容 while ((line = in.readLine()) != null) { result += line; }
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
-
-
}