java代码实现访问网络外部接口并获取数据的工具类

java代码实现访问网络外部接口并获取数据的工具类,可直接copy使用!

package com.wanegi.thesis.util;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * @ClassName: HttpRequestUtil  
 * @author WaneGi
 * @date 2020年2月29日  下午8:24:20  
*/
public class HttpRequestUtil {
     

private static Logger log = LogManager.getLogger(HttpRequestUtil.class);
	
	/**
	 * 向指定URL发送GET方法的请求
	 * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
	 * @param url
	 *            发送请求的URL
	 * @return URL 所代表远程资源的响应结果
	 */
	public static String sendGet(String url) {
     
		StringBuilder result = new StringBuilder();
		BufferedReader in = null;
		try {
     
			URL realUrl = new URL(url);
			// 打开和URL之间的连接
			URLConnection connection = realUrl.openConnection();
			// 设置通用的请求属性
			connection.setRequestProperty("accept", "*/*");
			connection.setRequestProperty("connection", "Keep-Alive");
			connection.setRequestProperty("user-agent",
					"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
			connection.setRequestProperty("Accept-Charset", "UTF-8");
			connection.setRequestProperty("contentType", "UTF-8");
			// 建立实际的连接
			connection.connect();
			// 遍历所有的响应头字段
			// for (String key : map.keySet()) {
     
			// System.out.println(key + "--->" + map.get(key));
			// }
			// 定义 BufferedReader输入流来读取URL的响应
			in = new BufferedReader(new InputStreamReader(
					connection.getInputStream(), "utf-8"));
			String line;
			while ((line = in.readLine()) != null) {
     
				result.append(line);
			}
		} catch (Exception e) {
     
//			System.out.println("发送GET请求出现异常!" + e);
			result = new StringBuilder("{\"resCode\":\"1\",\"errCode\":\"1001\",\"resData\":\"\"}");
			e.printStackTrace();
			log.error("远程服务未开启", e);
		}
		// 使用finally块来关闭输入流
		finally {
     
			try {
     
				if (in != null) {
     
					in.close();
				}
			} catch (Exception e2) {
     
				e2.printStackTrace();
			}
		}
 
		return result.toString();
	}
	
}

你可能感兴趣的:(Java,计算机网络,json,网络外部接口,java,后端,http,websocket)