/* * @Author: giaogiao giaogiao * @Date: 2023-07-28 08:53:13 * @LastEditors: giaogiao giaogiao * @LastEditTime: 2023-07-28 15:10:40 * @FilePath: \go\main.go * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ package main import ( "encoding/json" "fmt" "io/ioutil" "os" "strconv" "time" "github.com/parnurzeal/gorequest" "go.uber.org/zap" ) func read_a_file() { type Node []struct { Remarks string `json:"remarks"` Country string `json:"country"` Port int `json:"port"` } // 打开json文件 jsonFile, err := os.Open("user.json") // 最好要处理以下错误 if err != nil { fmt.Println(err) } // 要记得关闭 defer jsonFile.Close() byteValue, _ := ioutil.ReadAll(jsonFile) var node Node err = json.Unmarshal(byteValue, &node) if err != nil { fmt.Println(err) } for _, item := range node { // fmt.Println(item.Remarks, item.Country, item.Port) text_url(item.Remarks, item.Country, item.Port) } } func text_url(remarks string, country string, port int) { sugar := zap.NewExample().Sugar() sugar.Infof("start_testing country:%s,port:%d", country, port) request := gorequest.New().Proxy("socks5://23.224.102.3:" + strconv.Itoa(port)) resp, body, errs := request.Get("https://ip.shagain.club/").End() if errs != nil { // fmt.Print(errs) sugar.Errorf("start_testing country:%s,port:%d,error:%s", country, port, errs) sugar.Infof("start_switching_ip country:%s,port:%d", country, port) // resp, err := http.Get("http://127.0.0.1:9049/v1/ips?num=1&country=" + country + "&state=all&city=all&zip=all&t=txt&port=" + strconv.Itoa(port) + "&isp=all&start=&end=") // sugar.Infof("switch_ip_to_return resp:%s,err:%s", resp, err) } sugar.Infof("requestToReturnTheResult resp:%s,body:%s", resp, body) } func main() { for { time.Sleep(5000) read_a_file() } }