| | |
| | | import net.sf.json.JSONException; |
| | | import net.sf.json.JSONObject; |
| | | import org.apache.commons.io.IOUtils; |
| | | import org.bouncycastle.util.encoders.UTF8; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.activation.MimetypesFileTypeMap; |
| | | import javax.servlet.ServletInputStream; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.*; |
| | | import java.net.HttpURLConnection; |
| | | import java.net.URL; |
| | | import java.nio.charset.Charset; |
| | | import java.nio.charset.CharsetEncoder; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | /**回车换行,用于一行的结尾*/ |
| | | private static final String LINE_END = "\r\n"; |
| | | |
| | | public static String getInputStream(HttpServletRequest request) throws Exception { |
| | | ServletInputStream stream = null; |
| | | BufferedReader reader = null; |
| | | StringBuffer sb = new StringBuffer(); |
| | | try { |
| | | stream = request.getInputStream(); |
| | | // 获取响应 |
| | | reader = new BufferedReader(new InputStreamReader(stream)); |
| | | String line; |
| | | while ((line = reader.readLine()) != null) { |
| | | sb.append(line); |
| | | } |
| | | } catch (IOException e) { |
| | | //logger.error(e); |
| | | throw new RuntimeException("读取返回支付接口数据流出现异常!"); |
| | | } finally { |
| | | reader.close(); |
| | | } |
| | | //logger.info("输入流返回的内容:" + sb.toString()); |
| | | return sb.toString(); |
| | | } |
| | | |
| | | public static String post(String requestUrl, String accessToken, String params) |
| | | throws Exception { |
| | |
| | | } |
| | | in.close(); |
| | | System.err.println("result:" + result); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 带header的post请求 |
| | | * @param generalUrl |
| | | * @param header |
| | | * @param params |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static String post(String generalUrl, Map<String, String> header, String params) |
| | | throws Exception { |
| | | URL url = new URL(generalUrl); |
| | | // 打开和URL之间的连接 |
| | | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); |
| | | connection.setRequestMethod("POST"); |
| | | // 设置通用的请求属性 |
| | | connection.setRequestProperty("Connection", "Keep-Alive"); |
| | | if(header != null) |
| | | { |
| | | for(String key : header.keySet()) |
| | | { |
| | | connection.setRequestProperty(key, header.get(key)); |
| | | } |
| | | } |
| | | |
| | | connection.setUseCaches(false); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | |
| | | // 得到请求的输出流对象 |
| | | DataOutputStream out = new DataOutputStream(connection.getOutputStream()); |
| | | out.write(params.getBytes("UTF-8")); |
| | | out.flush(); |
| | | out.close(); |
| | | |
| | | // 建立实际的连接 |
| | | connection.connect(); |
| | | // 定义 BufferedReader输入流来读取URL的响应 |
| | | BufferedReader in = null; |
| | | in = new BufferedReader( |
| | | new InputStreamReader(connection.getInputStream(), "UTF-8")); |
| | | String result = ""; |
| | | String getLine; |
| | | while ((getLine = in.readLine()) != null) { |
| | | result += getLine; |
| | | } |
| | | in.close(); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 带header的get请求 |
| | | * @param generalUrl |
| | | * @param header |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static String get(String generalUrl, Map<String, String> header) |
| | | throws Exception { |
| | | URL url = new URL(generalUrl); |
| | | // 打开和URL之间的连接 |
| | | HttpURLConnection connection = (HttpURLConnection) url.openConnection(); |
| | | connection.setRequestMethod("GET"); |
| | | // 设置通用的请求属性 |
| | | connection.setRequestProperty("Connection", "Keep-Alive"); |
| | | if(header != null) |
| | | { |
| | | for(String key : header.keySet()) |
| | | { |
| | | connection.setRequestProperty(key, header.get(key)); |
| | | } |
| | | } |
| | | |
| | | connection.setUseCaches(false); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | |
| | | // 建立实际的连接 |
| | | connection.connect(); |
| | | // 定义 BufferedReader输入流来读取URL的响应 |
| | | BufferedReader in = null; |
| | | in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); |
| | | String result = ""; |
| | | String getLine; |
| | | while ((getLine = in.readLine()) != null) { |
| | | result += getLine; |
| | | } |
| | | in.close(); |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | // //System.out.println("HttpURLUtil:"+wxMsgXml); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | obj = new JSONObject(); |
| | | try { |
| | | obj.put("status", 1); |
| | | obj.put("errMsg", e.getMessage()); |
| | | } catch (JSONException e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | } finally { |
| | | if (con != null) { |
| | | con.disconnect(); |
| | |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | } |