1
Rxianbei 2021-05-04 19:17:25 +08:00 via Android
一般的家庭网络是通过路由器在连接光猫拨号上网的,这是没有办法的
|
2
learningman 2021-05-04 19:18:29 +08:00 via Android 2
你不知道上面套了几层 NAT,NAT 后无法感知
|
3
raysonx 2021-05-04 19:20:18 +08:00
不能,因为“外网 IP”不属于你。
|
4
imn1 2021-05-04 19:23:45 +08:00
以前的旧路由器,在某个页面是显示了外网 ip 的,以前就靠内网读取这个页面
但新路由没有这个,作罢了 |
5
HankLu OP 现在有个很麻烦的、需要白名单才能访问的 url,我需要第一步访问网络获取本地 ip,第二步通过带 key 的 api 把 ip 添加到白名单,第三步才能访问这个 url 。
什么人才才能想出这个绝妙的成倍增加工作量的逻辑啊。大婶们我怎么优化我的三部曲以尽量降低出错后面的处理? |
6
MakeItGreat 2021-05-04 19:31:16 +08:00 via Android
中转
|
7
HankLu OP @MakeItGreat 大神,我这个 url 就是个中转站(带里)
|
8
yanqiyu 2021-05-04 19:47:02 +08:00
大概不行,除非...
1) 你的机器 ip 就是外网 ip 2) 你的网关等设备提供查询公网 ip 的接口 或者想办法让白名单放行某个通用的 ip 地址查询 api |
9
caliburn1994 2021-05-04 19:49:34 +08:00
|
10
ysc3839 2021-05-04 19:55:54 +08:00 via Android
没经过 NAT 转换的话,可以,否则不行。
|
11
kennylam777 2021-05-04 20:01:23 +08:00
家用路由器還有 upnp 一招, BitTorrent clients, PlayStation 及 Xbox 等等都會用到
|
12
gjquoiai 2021-05-04 20:05:17 +08:00
1. 自建机房的话应该是固定的一组出口 ip
2. 公有云一般都提供了以编程方式查询实例出口 ip 的方法 |
13
HankLu OP 已解决,我这个没有路由转接,直接用 IPs = socket.gethostbyname_ex(socket.gethostname())[-1]获取到了,这一下降低了我一半的工作量
|
14
ClericPy 2021-05-04 20:18:50 +08:00
如果实在懒, curl http://httpbin.org/get 算了
|
15
ClericPy 2021-05-04 20:19:14 +08:00
抱歉没注意 "不需要访问网络"... 溜了
|
16
dorothyREN 2021-05-04 23:19:17 +08:00
直接 tracert 判断出口 IP 就行
|
17
opengps 2021-05-04 23:47:42 +08:00
这个真没有,因为你并不知道你的最终公网出口具体在什么位置,如果确定了出口位置,那么可以去这个位置查一下公网 ip
|
18
opengps 2021-05-04 23:48:36 +08:00
另外还有个问题,公网的出入口,有可能不唯一
|
19
Jooooooooo 2021-05-05 00:29:55 +08:00
好像是你没上地铁得知道自己会坐哪, 除非位置是提前分配的.
|
20
no1xsyzy 2021-05-05 02:53:15 +08:00
也可以尝试要个公网 IP,那样的话路由器可能有页面能找到 IP = 公网 IP
但也可能要不到。 出口不唯一的话甚至你联网获取了 IP 都不一定对 |
22
whwq2012 2021-05-05 11:07:44 +08:00
向运营商购买专线,配置固定 IP
|