package main import ( "encoding/json" "fmt" "io" "log" "net/http" "os" ) type IPInfo struct { Code string `json:"code"` Data struct { Continent string `json:"continent"` Country string `json:"country"` } `json:"data"` IP string `json:"ip"` Msg string `json:"msg"` } func main() { if len(os.Args) < 2 { log.Fatalf("用法: %s ", os.Args[0]) } // 目标 URL url := "https://qifu.baidu.com/ip/geo/v1/district?ip=" + os.Args[1] // 发送 GET 请求 resp, err := http.Get(url) if err != nil { log.Fatalf("发送 GET 请求时出错: %v", err) } defer resp.Body.Close() // 读取响应体 body, err := io.ReadAll(resp.Body) if err != nil { log.Fatalf("读取响应体时出错: %v", err) } // 解析 JSON 数据 var ipInfo IPInfo if err := json.Unmarshal(body, &ipInfo); err != nil { log.Fatalf("解析 JSON 时出错: %v", err) } // 提取并打印 continent 和 country 字段 fmt.Printf("%s%s\n", ipInfo.Data.Continent, ipInfo.Data.Country) }