java, Post方法调用接口

public String doPost(String url, Map<String, String> param) throws Exception {
		// 当传入的url返回不为空的时候,读取数据
		BufferedReader input = null;
		PrintWriter out = null;
		byte[] data = null;// 提高字符数据的生成
		String result = "";
		if (StringUtils.isNotBlank(url)) {
			try {
				// 设置请求的头信息
				URL urlInfo = new URL(url);
				URLConnection connection = urlInfo.openConnection();
				connection.addRequestProperty("Host", urlInfo.getHost());// 设置头信息
				connection.addRequestProperty("Connection", "keep-alive");
				connection.addRequestProperty("Accept", "*/*");

				connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64)");
				// 发送POST请求必须设置如下两行
				connection.setDoOutput(true);
				connection.setDoInput(true);
				// 获取URLConnection对象对应的输出流
				out = new PrintWriter(connection.getOutputStream());
				// 发送请求参数
				out.print(getParam(param));
				// flush输出流的缓冲
				out.flush();
				// 获取所有响应头字段
				// 获取请求回来的信息
				
				// 定义 BufferedReader输入流来读取URL的响应
				input = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
				String line;
				while ((line = input.readLine()) != null) {
					result += line;
				}
			} catch (Exception e) {
				throw new Exception("读取Url数据失败:" + url, e);
			} finally {
				try {
					input.close();
				} catch (Exception e) {
				}
			}
		}
		return result;
	}

	/**
	 * 将参数以 key=123&v=456 2019-03-04
	 * @author 朱传露
	 * @since 2019年3月4日
	 * @param param
	 * @return
	 */
	public String getParam(Map<String, String> param) {
		StringBuilder str = new StringBuilder();
		if (param != null) {
			int size = 0;
			for (Map.Entry<String, String> m : param.entrySet()) {
				str.append(m.getKey());
				str.append("=");
				str.append(m.getValue());
				if (size < param.size() - 1) {
					str.append("&");
				}
				size++;
			}
		}
		return str.toString();
	}

get方法请求:

/**
	 * 
	 * get方式获取数据
	 */
	public static String doGet(String url) throws Exception {
		// 当传入的url返回不为空的时候,读取数据
		BufferedReader input = null;
		String result = "";
		if (StringUtils.isNotBlank(url)) {
			try {
				// 设置请求的头信息
				URL urlInfo = new URL(url);
				URLConnection connection = urlInfo.openConnection();
				connection.addRequestProperty("Connection", "keep-alive");
				connection.addRequestProperty("Accept", "*/*");
				connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64)");
				// 建立实际的连接
	            connection.connect();
				// 定义 BufferedReader输入流来读取URL的响应
				input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
				String line;
				while ((line = input.readLine()) != null) {
					result += line;
				}
			} catch (Exception e) {
				logger.error("读取Url数据失败:" + e);
				throw new Exception("读取Url数据失败:" + url, e);
			} finally {
				try {
					input.close();
				} catch (Exception e) {
				}
			}
		}
		return result;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值