[应用相关] 如何获取公网IP呢,比如用于定位城市

[复制链接]
3637|42
yangxiaor520 发表于 2024-8-19 07:38 来自手机 | 显示全部楼层
定位城市获取公网IP不是唯一路径
yangxiaor520 发表于 2024-8-19 07:38 来自手机 | 显示全部楼层
服务商有专门接口用于查询定位信息的。
youtome 发表于 2024-8-19 13:53 | 显示全部楼层
有许多免费的API可以提供这项服务,例如:

https://api.ipify.org
http://myexternalip.com/raw
51xlf 发表于 2024-8-20 08:55 | 显示全部楼层
可以向http://api.ipify.org发送请求,该服务会返回你的公网IP地址。
qiufengsd 发表于 2024-8-20 11:56 | 显示全部楼层
公网 IP 可能会动态变化,每次重新连接网络时可能会分配到不同的公网 IP。
elsaflower 发表于 2024-8-20 15:57 | 显示全部楼层
某些公网IP查询服务可能会更改其URL或响应格式,因此建议定期检查所使用的API是否仍然有效。
xiaoyaodz 发表于 2024-8-20 18:11 | 显示全部楼层
ESP8266 可以通过 Wi-Fi 连接到路由器,然后与具有固定公网 IP 或域名的服务器进行通信。服务器可以根据接收到的请求或数据,返回相应的信息给 ESP8266。具体的实现方式会涉及到网络编程、协议设计等方面的知识。
kkzz 发表于 2024-8-20 20:51 | 显示全部楼层
可以使用IP地理位置服务来定位你的大致位置。
sdlls 发表于 2024-8-21 10:55 | 显示全部楼层
使用像http://ifconfig.me、http://icanhazip.com、http://api.ipify.org或http://ifconfig.co这样的网址。
ESP8266可以发送HTTP GET请求到这些网址,并解析返回的IP地址字符串。
minzisc 发表于 2024-8-21 13:21 | 显示全部楼层
打开任何网络浏览器,输入“公网IP查询”或“查看我的IP地址”,然后点击搜索。搜索结果通常会直接显示当前设备的公网IP地址。这是一种简单快速的方法,无需任何专业技术或工具。
ingramward 发表于 2024-8-21 15:23 | 显示全部楼层
如果你的公网IP是动态的,并且你需要经常性地获取它,可以考虑设置一个定时器在loop()函数中定期执行查询。
beacherblack 发表于 2024-8-21 17:44 | 显示全部楼层
可以使用另一个API来解析IP地址并获取地理位置信息。
vivilyly 发表于 2024-8-21 21:21 | 显示全部楼层
有许多在线工具和服务提供公网IP的查询服务。访问这些网站后,它们会自动显示访问者当前的公网IP地址。例如,可以通过访问 https://www.whatismyip.com/ 或 https://ipconfig.io/ip 等网站快速获知公网IP信息。
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
}
物联万物互联 发表于 2024-8-22 10:35 | 显示全部楼层
大多数家用路由器都提供基于web的管理界面,可以通过浏览器访问。
louliana 发表于 2024-8-22 10:51 | 显示全部楼层
向提供公网IP查询服务的网站发送HTTP GET请求。
jackcat 发表于 2024-8-22 11:14 | 显示全部楼层
通过DNS查询特定的公共DNS服务器
mnynt121 发表于 2024-8-22 11:51 | 显示全部楼层
可以通过发送HTTP请求到一个提供IP查询服务的API来获取公网IP。
juliestephen 发表于 2024-8-22 12:41 | 显示全部楼层
ESP8266 本身并不能直接获取公网 IP 地址。ESP8266 是一个 Wi-Fi 模块,它通常用于连接到本地无线网络。
abotomson 发表于 2024-8-22 13:06 | 显示全部楼层
打开浏览器,输入路由器的 IP 地址(通常是 192.168.1.1 或 192.168.0.1),进入路由器的管理界面,在“网络状态”或“WAN 口状态”等选项中查找公网 IP 地址
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部