自機のグローバル IP (IPv4)が知りたい状態がでてきていたので、qiita の記事を参考に引っ張っていました。参考にした記事はこちら。
しかし、こないだこの中のあるサイトから 503 と空の body が返ってきたのでちょっと数を回って来るようにいじってみました。golang で 部分だけ。
var body []byte for _, url := range []string{"https://ipinfo.io/ip", "https://api.ipify.org/", "https://checkip.amazonaws.com/", "https://4.ident.me/", "http://ipaddr.show/"} { resp, err := http.Get(url) if err != nil || resp.StatusCode != 200 { resp.Body.Close() continue } defer resp.Body.Close() body, _ = io.ReadAll(resp.Body) break } // 5サイトともだめだった場合 if body == nil { body = []byte("IP didn't get") }
とりあえず、エラー処理は適当ぶっこいてますがご勘弁を