zoukankan      html  css  js  c++  java
  • go执行外部应用

    go执行外部应用

    最近想将原来用asp.net mvc写的一个公司内部网站改用beego来写,但发现其中有一个功能是,能将加密的sqlite文件进行解密,因为这个解密是不能公开的,但有些同事需要查看这些sqlite文件的结构和数据 ,所以其中一个功能就是能够将上传上来的sqlite解密后,再返回给浏览器供下载下来查看,但是发现go中没有提供sqlite的解密包功能,故另寻它路,发现可以采用go来执行我写的解密命令行程序,将需要解密的工程当参数传进去,然后执行后,就是解密后的文件了,可以返回给浏览器供下载使用,以下是go执行外部程序的例子。

    package main
    
    import (
    	"fmt"
    	"os/exec"
    	"io/ioutil"
    )
    
    func main(){
    	cmd := exec.Command("Test.exe", "hello world")
    	stdout, err := cmd.StdoutPipe()
    	if err != nil{
    		fmt.Println(err)
    		return
    	}
    	defer stdout.Close()
    	if err := cmd.Start(); err != nil{
    		fmt.Println(err)
    		return
    	}
    	opBytes, err := ioutil.ReadAll(stdout)
    	if err != nil{
    		fmt.Println(err)
    		return
    	}
    	fmt.Println(string(opBytes))
    }
    
  • 相关阅读:
    目录结构
    RabbitMQ 将监听的IP从localhost修改为指定IP
    概念
    RabbitMQ 基础概念
    修改shell提示符的显示格式
    VIM常用设置
    RabbitMQ 开启WEB管理
    用pecl/pear独立编译PHP扩展 vs. 把扩展编译到PHP内核中
    安装composer
    安装php-amqplib(RabbitMQ的phpAPI)
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/9683163.html
Copyright © 2011-2022 走看看