【golang】golang使用exec执行命令
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
}