JAVA接口,json传递
public static String getJsonData(JSONObject jsonParam) { StringBuffer sb=new StringBuffer(); String resultJsonto = new String(); try { // 创建url资源 URL url = new URL("http://XXXXXXXXX"); // 建立http连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置允许输出 conn.setDoOutput(true); conn.setConnectTimeout(10000); conn.setReadTimeout(100000); // 设置允许输入 conn.setDoInput(true); // 设置不用缓存 conn.setUseCaches(false); // 设置传递方式 conn.setRequestMethod("POST"); // 设置维持长连接 conn.setRequestProperty("Connection", "Keep-Alive"); // 设置文件字符集: conn.setRequestProperty("Charset", "UTF-8"); // 转换为字节数组 //byte[] data = (jsonParam.toString()).getBytes(); byte[] data = jsonParam.toString().getBytes(); // 设置文件长度 conn.setRequestProperty("Content-Length", String.valueOf(data.length)); // 设置文件类型: conn.setRequestProperty("contentType", "application/json"); // 开始连接请求 conn.connect(); OutputStream out = new DataOutputStream(conn.getOutputStream()) ; // 写入请求的字符串 out.write(jsonParam.toString().getBytes()); out.flush(); out.close(); System.out.println(conn.getResponseCode()); // 请求返回的状态 if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){ System.out.println("连接成功"); // 请求返回的数据 InputStream in1 = conn.getInputStream(); try { String readLine=new String(); BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8")); while((readLine=responseReader.readLine())!=null){ sb.append(readLine).append("\n"); } responseReader.close(); String json = sb.toString(); //第一次解码 String deCode = deCodeBase(json); //分割字符串 String nextIndex =deCode.substring(deCode.indexOf("{"), deCode.length()); //转换json格式 JSONObject jsonResult =JSONObject.fromObject(nextIndex); //获取解码message值 String deCodename = deCodeBase(jsonResult.getString("message")); //获取result值 String resultname = jsonResult.getString("result"); //返回新JSONObject JSONObject resultJson = new JSONObject(); resultJson.put("message", deCodename); resultJson.put("result", resultname); //实体类对象转换成String类型的JSON字符串 resultJsonto = resultJson.toString(); } catch (Exception e1) { e1.printStackTrace(); } } else { System.out.println("连接失败"); InputStream error = conn.getErrorStream(); String errorLine=new String(); BufferedReader errorresponseReader=new BufferedReader(new InputStreamReader(error,"UTF-8")); while((errorLine=errorresponseReader.readLine())!=null){ sb.append(errorLine).append("\n"); } errorresponseReader.close(); String errorData = sb.toString(); System.err.println("错误信息:"+errorData); } } catch (Exception e) { System.out.println("error"); e.printStackTrace(); } return resultJsonto; }
调用接口
public Map<Integer,Object> work(String str1,String str2,String file) throws Exception { str1 = "123"; str2 = "456"; String mima = UUID.randomUUID().toString(); //密钥加密 String requestData = enCodeBase(str1); //密钥加密 String sign = DigestUtils.md5DigestAsHex(str2.getBytes()); //读取文本文件 String name = readFileContent(file); //获取文本文件内参数 String utf8 = ""; try { utf8 = new String(name.getBytes(), "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.err.println("utf8:"+utf8); //切割字符串,获取参数 String[] rows = utf8.split("<br>"); //批量次数 Integer rowNum = rows.length; //获取返回值 Map<Integer,Object> resultStr = new HashMap<>(); for (int i = 0;i<rows.length;i++) { System.err.println("Stirng:"+rows[i]); //Stirng 转为jsonJSONObject JSONObject string1 = JSONObject.fromObject(rows[i]); //调用接口 String str=UserController.getJsonData(string1); //防止结果到map resultStr.put(i, str); } for(Entry<Integer, Object> entry : resultStr.entrySet()){ Integer mapKey = entry.getKey()+1; Object mapValue = entry.getValue(); System.out.println("批次:"+mapKey+" : 错误信息:"+mapValue); } return resultStr; }
相关加密,导入文件方法
//base64位的加密状态 public static String enCodeBase(String str){ byte[] enCodeBase; try { enCodeBase = Base64.encodeBase64(str.getBytes("utf-8")); String enCode = new String(enCodeBase,"UTF-8"); return enCode; } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "出现异常"; } } //base64位的解密 public static String deCodeBase(String str){ byte[] deCodeBase64; try { deCodeBase64 = Base64.decodeBase64(str.getBytes("UTF-8")); String deCode = new String(deCodeBase64,"UTF-8"); return deCode; } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "出现异常"; } } //获取文本文件 public static String readFileContent(String fileName) { File file = new File(fileName); BufferedReader reader = null; StringBuffer sbf = new StringBuffer(); try { reader = new BufferedReader(new FileReader(file)); String tempStr; while ((tempStr = reader.readLine()) != null) { sbf.append(tempStr); } reader.close(); return sbf.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } return sbf.toString(); }