func PrivateUrl(cmd string, params ...string) { if len(params) == 1 || len(params) == 2 { publicUrl := params[0] var deadline int64 if len(params) == 2 { if val, err := strconv.ParseInt(params[1], 10, 64); err != nil { fmt.Println("Invalid <Deadline>") return } else { deadline = val } } else { deadline = time.Now().Add(time.Second * 3600).Unix() } gErr := accountS.Get() if gErr != nil { fmt.Println(gErr) return } mac := digest.Mac{ accountS.AccessKey, []byte(accountS.SecretKey), } url := qshell.PrivateUrl(&mac, publicUrl, deadline) fmt.Println(url) } else { CmdHelp(cmd) } }
func BatchSign(cmd string, params ...string) { if len(params) == 1 || len(params) == 2 { urlListFile := params[0] var deadline int64 if len(params) == 2 { if val, err := strconv.ParseInt(params[1], 10, 64); err != nil { fmt.Println("Invalid <Deadline>") return } else { deadline = val } } else { deadline = time.Now().Add(time.Second * 3600 * 24 * 365).Unix() } gErr := accountS.Get() if gErr != nil { fmt.Println(gErr) return } mac := digest.Mac{ accountS.AccessKey, []byte(accountS.SecretKey), } fp, openErr := os.Open(urlListFile) if openErr != nil { fmt.Println("Open url list file error,", openErr) return } defer fp.Close() bReader := bufio.NewScanner(fp) bReader.Split(bufio.ScanLines) for bReader.Scan() { urlToSign := strings.TrimSpace(bReader.Text()) if urlToSign == "" { continue } signedUrl := qshell.PrivateUrl(&mac, urlToSign, deadline) fmt.Println(signedUrl) } } else { CmdHelp(cmd) } }