【golang】golang使用exec执行命令

燕实
2023-12-01
func main() {
	var outInfo, outErr bytes.Buffer
	cmd := exec.Command("ping", "www.baidu.com")

	cmd.Stdout = &outInfo
	cmd.Stderr = &outErr
	if err := cmd.Run(); err != nil {
		fmt.Println(err)
		return
	}
	coding := GetStrCoding([]byte(outInfo.String()))
	res := ConvertByte2String([]byte(outInfo.String()), coding)
	fmt.Println(ConvertByte2String([]byte(outInfo.String()), res))
}

//ping网址
func pingHttp(url string) {
	// 获取状态码
	client := resty.New()
	//ForceContentType强制让resty按照特定的格式来解析响应
	resp, err := client.R().EnableTrace().ForceContentType("application/json").Get(url)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("Status Code:", resp.StatusCode()) //返回的状态码
	fmt.Println("Size:", resp.Size())              //大小
	fmt.Println("Time:", resp.Time())              //加载速度
	fmt.Println("url:", url)                       //访问的路径

	coding := GetStrCoding([]byte(resp.String()))
	res := ConvertByte2String([]byte(resp.String()), coding)
	fmt.Println(res)
}

func ConvertByte2String(byte []byte, charset Charset) Charset {

	var str Charset
	switch charset {
	case GB18030:
		var decodeBytes, _ = simplifiedchinese.GB18030.NewDecoder().Bytes(byte)
		str = Charset(decodeBytes)
	case UTF8:
		fallthrough
	default:
		str = Charset(byte)
	}

	return str
}

编写不易,还希望各位大佬支持一下 \textcolor{gray}{编写不易,还希望各位大佬支持一下} 编写不易,还希望各位大佬支持一下

个人主页: \textcolor{green}{个人主页:} 个人主页: 沉默小管

个人网站: \textcolor{green}{个人网站:} 个人网站: 沉默小管

技术交流 Q Q 群: 837051545 \textcolor{green}{技术交流QQ群:837051545} 技术交流QQ群:837051545

点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

如果有不懂可以留言,我看到了应该会回复
如有错误,请多多指教

 类似资料: