使用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个重点:

  1. 设置user-agent
  2. 使用http协议

[tldr] 使用ip.sb检查自己所在局域网的公网IP的更多相关文章

  1. Linux系统查看局域网的公网ip

    访问http://www.cip.cc即可获得ip 前提是linux系统能够解析域名 [root@Test ~]# curl cip.cc IP : 115.216.41.112 地址 : 中国 浙江 ...

  2. [PythonCode]扫描局域网的alive ip地址

    内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高.2分钟左右. 先凑合 ...

  3. 外网主机如何将数据包发送到共用一个公网IP的局域网某特定主机上的

    内网的一台电脑要上因特网对外开放服务或接收数据.都须要port映射.port映射分为动态和静态. 动态port映射:内网中的一台电脑要訪问站点.会向NAT网关发送数据包.包头中包含对方站点IP.por ...

  4. 利用端口映射解决:拥有公网IP有限,内网需要访问因特网

    动态端口映射:   内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP.端口和本机IP.端口,NAT网关会把本机IP.端口替换成自己的公网IP.一个未使用的端口, ...

  5. 公网IP、私网IP

    公网.内网是两种Internet的接入方式.公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问. NAT(Networ ...

  6. 内网ip/公网ip

    ip地址初识: 现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址. IP地址类型 最初设计互 ...

  7. 内网IP和公网IP的区别

        内网IP和公网IP的区别     什么是内网IP: 一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IP Sharing),使用整个公司或学校的机器都能够访问互联网.而 ...

  8. 如何判断自己外网IP是否为真实公网IP,以及解决方案

        如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址.(公网IP又分为静态公网IP和动态公网IP,如何分辨的话,进入路由器查看连接方式pppoe连接都是动态公网IP.) ...

  9. 专网IP和公网IP的区别是什么

    专网ip是自己网内用,公网的话就全球有效 最大区别是公网IP世界只有一个,私网IP可以重复,但是在一个局域网内不能重复 访问互联网是需要IP地址的,IP地址又分为公网IP和私网IP,访问互联网需要公网 ...

  10. Vue利用搜狐获取公网ip地址

    在index.html中添加代码: <script src="https://pv.sohu.com/cityjson?ie=utf-8"></script> ...

随机推荐

  1. consul注册和删除命令

    curl -X PUT -d '{"id": "redis-xxx","name": "redis-xxx"," ...

  2. NJU ICS2024 PA 作业心得(三)

    NJU ICS2024 PA 作业心得(三) 需要参考的内容 RISC-V ABIs Specification:是一组规则和规范,定义了在 RISC-V 架构上编写和链接程序的方式.它确保了不同语言 ...

  3. 使用Halcon软件和圆形标定板进行相机标定的步骤和教程

    直接给出使用Halcon软件和圆形标定板进行相机标定的教学视频链接: 55-相机标定4-DLT,张正友标定法,Halcon标定算子

  4. Ubuntu 装卸Opencv

    buntu中卸载opencv的方法: 1.打开ubuntu: 2.找到当初安装opencv的build目录,进入该build目录执行卸载操作: 3.通过rm命令清理/usr中所有opencv相关项即可 ...

  5. 移动端开源 IM 框架 MobileIMSDK v6.0 发布!

    一.更新内容简介 本次为主要版本更新(本次更新内容见文末"MobileIMSDK v6.0更新内容 "一节),强势升级,将同时支持TCP.UDP.WebSocket三种协议,精心封 ...

  6. Pytorch Layer层总结

    卷积层 nn.Conv1d 对由多个输入平面组成的输入信号应用一维卷积. nn.Conv2d 在由多个输入平面组成的输入信号上应用 2D 卷积. nn.Conv3d 对由多个输入平面组成的输入信号应用 ...

  7. JavaScript 数组展平方法: flat() 和 flatMap()

    从 ES2019 中开始引入了一种扁平化数组的新方法,可以展平任何深度的数组. flat flat() 方法创建一个新数组,其中所有子数组元素以递归方式连接到特定深度. 语法:array.flat(d ...

  8. 展锐Android平台增加gadget 虚拟usb串口

    方案一:需要修改展锐现有Windows端驱动,增加一组MI接口.由于无法推动展锐修改Windows驱动,该方案不推荐. SL8541E/device/sprd/sharkle/common/rootd ...

  9. pip在线安装

    # 下载安装脚本 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 运行安装脚本 sudo python3 get-pip.py # ...

  10. ASP.NET Core - 日志记录系统(二)

    本篇接着上一篇 [ASP.NET Core - 日志记录系统(一)] 往下讲,所以目录不是从 1 开始的. 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括以下日志记 ...