java调用第三方接口http工具类
一、描述
调用第三方接口工具。
二、代码实现
package com.lanshen.utils.lsjavaUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.apache.log4j.Logger;
import javax.activation.MimetypesFileTypeMap;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* Created by Lanshen on 2019/12/2.
* 调用第三方接口工具
*/
public class lshttpUtils {
private static final Logger LOGGER = Logger.getLogger(lshttpUtils.class);
/*Java通过HTTP的短连接的方式发送JSON报文和接收JSON报文==纯参数===POST*/
public static String JsonHttpRequestPost(String requestUrl, String requestMethod, String outputStr) throws IOException {
StringBuffer rstsb = new StringBuffer();
try {
URL url = new URL(requestUrl);
//打开和url之间的连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置发送数据
conn.setDoOutput(true);
//设置接受数据
conn.setDoInput(true);
//设置请求的方法类型
conn.setRequestMethod(requestMethod);
conn.setUseCaches(false);
conn.setInstanceFollowRedirects(true);
//设置请求的内容类型
conn.setRequestProperty("Content-Type", "application/json");
conn.connect();
//往服务器端写内容 也就是发起http请求需要带的参数
if (outputStr != null) {
//发送数据,使用输出流
OutputStream os = conn.getOutputStream();
os.write(outputStr.getBytes("utf-8"));
os.close();
}
//读取服务器端返回的内容,获取URLConnection对象对应的输入流
InputStream is = conn.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "utf-8");
//构造一个字符流缓存
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
rstsb.append(line);
rstsb.append("\n");
}
br.