[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协议 
[tldr] 使用ip.sb检查自己所在局域网的公网IP的更多相关文章
- Linux系统查看局域网的公网ip
		
访问http://www.cip.cc即可获得ip 前提是linux系统能够解析域名 [root@Test ~]# curl cip.cc IP : 115.216.41.112 地址 : 中国 浙江 ...
 - [PythonCode]扫描局域网的alive ip地址
		
内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高.2分钟左右. 先凑合 ...
 - 外网主机如何将数据包发送到共用一个公网IP的局域网某特定主机上的
		
内网的一台电脑要上因特网对外开放服务或接收数据.都须要port映射.port映射分为动态和静态. 动态port映射:内网中的一台电脑要訪问站点.会向NAT网关发送数据包.包头中包含对方站点IP.por ...
 - 利用端口映射解决:拥有公网IP有限,内网需要访问因特网
		
动态端口映射: 内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP.端口和本机IP.端口,NAT网关会把本机IP.端口替换成自己的公网IP.一个未使用的端口, ...
 - 公网IP、私网IP
		
公网.内网是两种Internet的接入方式.公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问. NAT(Networ ...
 - 内网ip/公网ip
		
ip地址初识: 现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址. IP地址类型 最初设计互 ...
 - 内网IP和公网IP的区别
		
内网IP和公网IP的区别 什么是内网IP: 一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IP Sharing),使用整个公司或学校的机器都能够访问互联网.而 ...
 - 如何判断自己外网IP是否为真实公网IP,以及解决方案
		
如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址.(公网IP又分为静态公网IP和动态公网IP,如何分辨的话,进入路由器查看连接方式pppoe连接都是动态公网IP.) ...
 - 专网IP和公网IP的区别是什么
		
专网ip是自己网内用,公网的话就全球有效 最大区别是公网IP世界只有一个,私网IP可以重复,但是在一个局域网内不能重复 访问互联网是需要IP地址的,IP地址又分为公网IP和私网IP,访问互联网需要公网 ...
 - Vue利用搜狐获取公网ip地址
		
在index.html中添加代码: <script src="https://pv.sohu.com/cityjson?ie=utf-8"></script> ...
 
随机推荐
- consul注册和删除命令
			
curl -X PUT -d '{"id": "redis-xxx","name": "redis-xxx"," ...
 - NJU ICS2024 PA 作业心得(三)
			
NJU ICS2024 PA 作业心得(三) 需要参考的内容 RISC-V ABIs Specification:是一组规则和规范,定义了在 RISC-V 架构上编写和链接程序的方式.它确保了不同语言 ...
 - 使用Halcon软件和圆形标定板进行相机标定的步骤和教程
			
直接给出使用Halcon软件和圆形标定板进行相机标定的教学视频链接: 55-相机标定4-DLT,张正友标定法,Halcon标定算子
 - Ubuntu 装卸Opencv
			
buntu中卸载opencv的方法: 1.打开ubuntu: 2.找到当初安装opencv的build目录,进入该build目录执行卸载操作: 3.通过rm命令清理/usr中所有opencv相关项即可 ...
 - 移动端开源 IM 框架 MobileIMSDK v6.0 发布!
			
一.更新内容简介 本次为主要版本更新(本次更新内容见文末"MobileIMSDK v6.0更新内容 "一节),强势升级,将同时支持TCP.UDP.WebSocket三种协议,精心封 ...
 - Pytorch Layer层总结
			
卷积层 nn.Conv1d 对由多个输入平面组成的输入信号应用一维卷积. nn.Conv2d 在由多个输入平面组成的输入信号上应用 2D 卷积. nn.Conv3d 对由多个输入平面组成的输入信号应用 ...
 - JavaScript 数组展平方法: flat() 和 flatMap()
			
从 ES2019 中开始引入了一种扁平化数组的新方法,可以展平任何深度的数组. flat flat() 方法创建一个新数组,其中所有子数组元素以递归方式连接到特定深度. 语法:array.flat(d ...
 - 展锐Android平台增加gadget 虚拟usb串口
			
方案一:需要修改展锐现有Windows端驱动,增加一组MI接口.由于无法推动展锐修改Windows驱动,该方案不推荐. SL8541E/device/sprd/sharkle/common/rootd ...
 - pip在线安装
			
# 下载安装脚本 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 运行安装脚本 sudo python3 get-pip.py # ...
 - ASP.NET Core - 日志记录系统(二)
			
本篇接着上一篇 [ASP.NET Core - 日志记录系统(一)] 往下讲,所以目录不是从 1 开始的. 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括以下日志记 ...