通过HTTP访问接口,工具方法

/*
 *  通过HTTP访问接口,
 * 详情,返回一个Map对象
 */
public static Map<String,Object> callByHTTP(String URL,String data,String RequestMethod,boolean encrypt) throws Exception{
		StringBuffer returnData=new StringBuffer();
		InputStream in = null;
		//网络连接
		logger.info("url:url:"+URL);
		try {
			 URL url = new URL(URL);
			 HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
			 conn.setDoOutput(true);  
		     conn.setUseCaches(false);  
		     conn.setRequestMethod(RequestMethod);
		     conn.setRequestProperty("Cache-Control", "no-cache");  
		     conn.setRequestProperty("Charsert", "UTF-8");
		     conn.setConnectTimeout(30000);
		     conn.setReadTimeout(30000);
		     conn.connect();
		     if(data!=null&&!data.equals("")){
		    	OutputStream outputStream = conn.getOutputStream();
				outputStream.write(data.getBytes("UTF-8"));
				outputStream.flush();
				outputStream.close();	
		     }
		     in = conn.getInputStream();
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("接口连接超时!");
		} 
		//解析数据
		try{  
			if (in != null) {
				BufferedReader bufferIn = new BufferedReader(new InputStreamReader(in,"UTF-8"));
				String temp=null;
				while((temp=bufferIn.readLine())!=null){
					returnData.append(temp); 
				}
				bufferIn.close();
				in.close();
				if (encrypt) {
					logger.info(returnData.toString());
					return  (Map<String,Object>)JSON.parse(DesEncrypt.getInstance().decrypt(returnData.toString()));
				} else {
					logger.info(returnData.toString());
					return  (Map<String,Object>)JSON.parse(returnData.toString());
				}
			}
		} catch (ApplicationException e) {
			e.printStackTrace();
			logger.error("系统接口运行失败!");
			throw new ApplicationException();
		}
		logger.error("系统接口连接失败!");
		return null;
	}
	

 

转载于:https://my.oschina.net/chendongj/blog/1544632

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值