download.go 665 B

12345678910111213141516171819202122232425
  1. package cmd
  2. import (
  3. "bytes"
  4. "fmt"
  5. "os/exec"
  6. )
  7. // Wget 调用wget.exe下载,-t参数表示重试次数,-T参数表示超时等待时间,-w两次尝试之间间隔SECONDS秒,-O把文档写到FILE文件中
  8. func Wget(url, localPath string) (err error) {
  9. cmd := exec.Command("wget.exe", url, "-t", "3", "-T", "25", "-w", "3", "-O", localPath, "--no-check-certificate")
  10. var stdout bytes.Buffer
  11. var stderr bytes.Buffer
  12. cmd.Stdout = &stdout
  13. cmd.Stderr = &stderr
  14. err = cmd.Run()
  15. if err != nil {
  16. fmt.Println(fmt.Sprint(err) + ": " + ConvertByte2String([]byte(stderr.String()), "GB18030"))
  17. return err
  18. }
  19. fmt.Println("Result: " + stdout.String())
  20. return
  21. }