1,首先呢,必须写一个可接受http协议的接口。
2,如果只是需要在一台主机上单独建立一个这样得服务,那么可以搭建一个springboot工程,创建服务
3,下面这些代码,可以当作工具类使用就好
服务端代码 /** * 执行shell命令 * @param command 执行命令 * @return */ public String exeCommandByPath( String command){ log.info("进入执行shell命令方法 执行命令:" + command); String returnString = ""; Process pro = null; String[] cmds = { "/bin/sh", "-c", command }; Runtime runTime = Runtime.getRuntime(); if (runTime == null) { log.info("Create runtime false!"); } try { pro = runTime.exec(cmds); BufferedReader input = new BufferedReader(new InputStreamReader(pro.getInputStream())); PrintWriter output = new PrintWriter(new OutputStreamWriter(pro.getOutputStream())); String line; while ((line = input.readLine()) != null) { returnString = returnString + line + "\n"; } input.close(); output.close(); pro.destroy(); } catch (Exception ex) { log.info("执行shell命令出现异常" + ex.getMessage()); } log.info("执行shell命令方法结果" + returnString); return returnString; } 客户端代码 /** * 执行shell命令 * * @param command 执行命令 * @return */ public String exeCommandByPath(String command) throws Exception { Response response = null; try { Client client = ClientBuilder.newClient(); WebTarget target = client.target(路径(http://.....)).queryParam("command", command); client.property(ClientProperties.CONNECT_TIMEOUT, 2000); client.property(ClientProperties.READ_TIMEOUT, 10); response = target.request().get(); if (response.getStatus() == 200) { String result = response.readEntity(String.class); log.error("执行shell命令时{}返回值", result); return result; } else { throw new Exception("执行shell命令时连接失败!"); } } catch (Exception e) { log.error("执行shell命令时{}出现异常", command, e); throw new Exception("执行shell命令时{}" + command + "出现异常:" + e.getMessage()); } finally { log.info("执行shell命令时{}", command); } }
1. 本站所有资源来源于用户上传和网络,如有侵权请及时联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"mababa.xin",如遇到无法解压的请联系管理员!
码巴巴-优质代码创造者 » java通过http服务执行shell命令
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 一个高级程序员模板开发平台