赖娅闺 发表于 2025-6-1 21:13:51

[tldr] 使用ip.sb检查自己所在局域网的公网IP

使用ip a等一些命令行工具可以帮助我们检查自己的内网IP,但是,如何获取自己的在公网下的IP(即当前所在的局域网被分配的公网IP)
如果使用爬虫,这个IP也是很重要的.BAN IP就是这个IP
https://ip.sb是一个网络服务WEB界面,用于返回你的公网IP
该网站提供了API接口,返回纯文本的IP地址
http://ip.sb是返回纯文本类型的IP地址信息的接口
使用curl ip.sb可以查看效果

使用编程语言获取自己的IP

curl进行GET访问的时候,会设置自己的请求头user-agent为"User-Agent", "curl/8.6.0"
package main

import (
        "fmt"
        "io"
        "net/http"
        "net/url"
)

func main() {
        proxyURL, err := url.Parse("http://127.0.0.1:10809")
        if err != nil {
                panic(err)
        }

        client := &http.Client{
                Transport: &http.Transport{
                        Proxy: http.ProxyURL(proxyURL),
                },
        }

        ipUrl := "http://ip.sb"

        req, err := http.NewRequest("GET", ipUrl, nil)
        if err != nil {
                panic(err)
        }

        req.Header.Set("User-Agent", "curl/8.6.0")

        resp, err := client.Do(req)
        if err != nil {
                panic(err)
        }
        defer resp.Body.Close()

        body, err := io.ReadAll(resp.Body)
        if err != nil {
                panic(err)
        }

        fmt.Println(string(body))
}上述代码会通过自己本地的proxy查询自己的proxy的公网IP
这里有2个重点:

[*]设置user-agent
[*]使用http协议

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: [tldr] 使用ip.sb检查自己所在局域网的公网IP