1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| package main
import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" "strings" "time" )
func main() {
var phone string fmt.Print("请输入手机号:") if count, err := fmt.Scan(&phone); err != nil { log.Panicln("输入手机号码 有误:", "err", err) } else { log.Println("输入手机号码 完成:", "count", count) log.Println("输入手机号码 完成:", "phone", phone) } if phone == "" { log.Panicln("输入手机号码 为空:", "phone", phone) }
var sleepTime = 0 fmt.Print("请输入延迟时间(单位:秒)(缺省值:0):") if count, err := fmt.Scan(&sleepTime); err != nil { log.Panicln("输入延迟时间 有误:", "err", err) } else { log.Println("输入延迟时间 完成:", "count", count) log.Println("输入延迟时间 完成:", "sleepTime", sleepTime) }
var fileSrc string fmt.Print("请输入接口列表文件所在路径(缺省值:./list.json):") if count, err := fmt.Scan(&fileSrc); err != nil { log.Panicln("输入接口列表文件所在路径 有误:", "err", err) } else { log.Println("输入接口列表文件所在路径 完成:", "count", count) log.Println("输入接口列表文件所在路径 完成:", "fileSrc", fileSrc) }
var linkBytes []byte if res, err := ioutil.ReadFile("./list.json"); err != nil { log.Panicln("读取JSON文件 失败:", "err", err) } else { log.Println("读取JSON文件 完成:", "string(res)", string(res)) linkBytes = res } var linkList []string if err := json.Unmarshal(linkBytes, &linkList); err != nil { log.Panicln("JSON格式字符串 转换为 字符串列表 失败:", "err", err) } else { log.Println("JSON格式字符串 转换为 字符串列表 完成:", "linkList", linkList) }
var sendCount int fmt.Printf("请输入发送次数(最大值为%d):", len(linkList)) if count, err := fmt.Scan(&sendCount); err != nil { log.Panicln("输入发送次数 有误:", "err", err) } else { log.Println("输入发送次数 完成:", "count", count) log.Println("输入发送次数 完成:", "sendCount", sendCount) } if sendCount > len(linkList) { log.Panicln("输入发送次数 大于URL列表总数") }
var responseEntity *http.Response for i := 0; i < sendCount; i++ { var link = linkList[i] link = strings.Replace(link, "[phone]", phone, 1) if res, err := http.Get(link); err != nil { log.Println("请求发送 失败:", "link", link) } else { responseEntity = res log.Println("请求发送 完成:", "link", link) } responseText, _ := ioutil.ReadAll(responseEntity.Body) log.Println("接收响应 完成:", "responseText", string(responseText))
if i != sendCount-1 { time.Sleep(time.Duration(sleepTime) * time.Second) } } defer responseEntity.Body.Close()
}
|