打印
[应用相关]

如何获取公网IP呢,比如用于定位城市

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
yangxiaor520| | 2024-8-19 07:38 | 只看该作者 回帖奖励 |倒序浏览
定位城市获取公网IP不是唯一路径

使用特权

评论回复
22
yangxiaor520| | 2024-8-19 07:38 | 只看该作者
服务商有专门接口用于查询定位信息的。

使用特权

评论回复
23
youtome| | 2024-8-19 13:53 | 只看该作者
有许多免费的API可以提供这项服务,例如:

https://api.ipify.org
http://myexternalip.com/raw

使用特权

评论回复
24
51xlf| | 2024-8-20 08:55 | 只看该作者
可以向http://api.ipify.org发送请求,该服务会返回你的公网IP地址。

使用特权

评论回复
25
qiufengsd| | 2024-8-20 11:56 | 只看该作者
公网 IP 可能会动态变化,每次重新连接网络时可能会分配到不同的公网 IP。

使用特权

评论回复
26
elsaflower| | 2024-8-20 15:57 | 只看该作者
某些公网IP查询服务可能会更改其URL或响应格式,因此建议定期检查所使用的API是否仍然有效。

使用特权

评论回复
27
xiaoyaodz| | 2024-8-20 18:11 | 只看该作者
ESP8266 可以通过 Wi-Fi 连接到路由器,然后与具有固定公网 IP 或域名的服务器进行通信。服务器可以根据接收到的请求或数据,返回相应的信息给 ESP8266。具体的实现方式会涉及到网络编程、协议设计等方面的知识。

使用特权

评论回复
28
kkzz| | 2024-8-20 20:51 | 只看该作者
可以使用IP地理位置服务来定位你的大致位置。

使用特权

评论回复
29
sdlls| | 2024-8-21 10:55 | 只看该作者
使用像http://ifconfig.me、http://icanhazip.com、http://api.ipify.org或http://ifconfig.co这样的网址。
ESP8266可以发送HTTP GET请求到这些网址,并解析返回的IP地址字符串。

使用特权

评论回复
30
minzisc| | 2024-8-21 13:21 | 只看该作者
打开任何网络浏览器,输入“公网IP查询”或“查看我的IP地址”,然后点击搜索。搜索结果通常会直接显示当前设备的公网IP地址。这是一种简单快速的方法,无需任何专业技术或工具。

使用特权

评论回复
31
ingramward| | 2024-8-21 15:23 | 只看该作者
如果你的公网IP是动态的,并且你需要经常性地获取它,可以考虑设置一个定时器在loop()函数中定期执行查询。

使用特权

评论回复
32
beacherblack| | 2024-8-21 17:44 | 只看该作者
可以使用另一个API来解析IP地址并获取地理位置信息。

使用特权

评论回复
33
vivilyly| | 2024-8-21 21:21 | 只看该作者
有许多在线工具和服务提供公网IP的查询服务。访问这些网站后,它们会自动显示访问者当前的公网IP地址。例如,可以通过访问 https://www.whatismyip.com/ 或 https://ipconfig.io/ip 等网站快速获知公网IP信息。

使用特权

评论回复
34
abotomson| | 2024-8-22 10:22 | 只看该作者
#include <ESP8266HTTPClient.h>

void loop() {
  if (WiFi.status() == WL_CONNECTED) { // Check Wi-Fi connection status
    HTTPClient http;
    http.begin("https://api.ipify.org"); // Specify the URL

    int httpCode = http.GET(); // Send the request

    if (httpCode > 0) { // Check for the returning code
      String payload = http.getString(); // Get the request response payload
      Serial.println(payload); // Print the response payload
    } else {
      Serial.println("Error on HTTP request");
    }

    http.end(); // Close connection
  } else {
    Serial.println("WiFi Disconnected");
  }

  delay(10000); // Send a request every 10 seconds
}

使用特权

评论回复
35
物联万物互联| | 2024-8-22 10:35 | 只看该作者
大多数家用路由器都提供基于web的管理界面,可以通过浏览器访问。

使用特权

评论回复
36
louliana| | 2024-8-22 10:51 | 只看该作者
向提供公网IP查询服务的网站发送HTTP GET请求。

使用特权

评论回复
37
jackcat| | 2024-8-22 11:14 | 只看该作者
通过DNS查询特定的公共DNS服务器

使用特权

评论回复
38
mnynt121| | 2024-8-22 11:51 | 只看该作者
可以通过发送HTTP请求到一个提供IP查询服务的API来获取公网IP。

使用特权

评论回复
39
juliestephen| | 2024-8-22 12:41 | 只看该作者
ESP8266 本身并不能直接获取公网 IP 地址。ESP8266 是一个 Wi-Fi 模块,它通常用于连接到本地无线网络。

使用特权

评论回复
40
abotomson| | 2024-8-22 13:06 | 只看该作者
打开浏览器,输入路由器的 IP 地址(通常是 192.168.1.1 或 192.168.0.1),进入路由器的管理界面,在“网络状态”或“WAN 口状态”等选项中查找公网 IP 地址

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则