1 Rxianbei 2021-05-04 19:17:25 +08:00 via Android 一般的家庭网络是通过路由器在连接光猫拨号上网的,这是没有办法的 |
![]() | 2 learningman 2021-05-04 19:18:29 +08:00 via Android ![]() 你不知道上面套了几层 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 syahd 2021-05-05 11:07:44 +08:00 向运营商购买专线,配置固定 IP |