package main
import (
	"fmt"
	"io/ioutil"
	"net/http"
	"time"
	"math/rand"
	"strings"
	"os"
)
// 定义一个函数，用来批量提交网络图片网址
func submitImageURLs(urls []string) {
	// 使用多线程去下载
	for _, url := range urls {
		go downloadImage(url)
	}
}
// 定义一个函数，用来下载图片
func downloadImage(url string) {
	// 设置随机3-10秒的时间间隔
	time.Sleep(time.Duration(rand.Intn(7)+3) * time.Second)
	// 下载图片
	resp, err := http.Get(url)
	if err != nil {
		fmt.Println(err)
		return
	}
	defer resp.Body.Close()
	// 读取图片数据
	data, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println(err)
		return
	}
	// 保存图片
	filename := time.Now().Format("2006-01-02") + strings.ReplaceAll(string(rand.Intn(10000)), "0", "")
	err = ioutil.WriteFile(os.Getenv("HOME")+"/images/"+filename, data, 0644)
	if err != nil {
		fmt.Println(err)
		return
	}
	// 生成可以让用户访问的链接地址
	imageURL := "http://example.com/images/" + filename
	fmt.Println(imageURL)
}
func main() {
	// 收到提交的数据
	urls := []string{"http://example.com/image1.jpg", "http://example.com/image2.jpg"}
	// 批量提交网络图片网址
	submitImageURLs(urls)
}
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence