• 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("
    ");
    					}
    					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("
    ");
    				}
    				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();
    	}
    

      

  • 相关阅读:
    Linux中zip基本用法
    containerd安装教程
    git拉取远程tag并进行代码crud
    pip环境安装
    Docker资源宿主机监控平台
    Docker部署Kafka单节点
    CRT——新建连接向导关闭了
    Excel——整行上移或下移
    DB2——DB2的字典视图
    Shell——windows上写完放入linux的时候需要注意的问题
  • 原文地址:https://www.cnblogs.com/zhang20190701/p/12022738.html
Copyright © 2020-2023  润新知