You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP8266强制门户开发:连接用户自动跳转指定本地HTML页求助

ESP8266强制门户跳转解决方案

现有代码问题

  • 仅返回静态HTML内容,未添加自动跳转逻辑,页面中使用的[url]是论坛专用标签,浏览器无法识别触发跳转
  • 未适配主流手机系统的 captive portal(强制门户)检测逻辑,可能导致连热点后不会自动弹出页面
  • 未明确ESP的AP网段与目标miniweb服务器的连通性校验逻辑,可能出现跳转后无法打开页面的问题

修复后可直接使用的代码

#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>

const byte DNS_PORT = 53;
// 当前AP的IP和目标miniweb服务器在同一网段,配置无需修改
IPAddress apIP(192, 168, 0, 110);
DNSServer dnsServer;
ESP8266WebServer webServer(80);
const char* targetUrl = "http://192.168.0.200:8000/pombem.html";

// 如需先展示广告再跳转,使用该HTML,content="3"代表3秒后自动跳转,可自行修改数值
String adHtml = R"EOF(
<!DOCTYPE html><html lang='zh-CN'><head>
<meta name='viewport' content='width=device-width'>
<meta http-equiv="refresh" content="3; url=http://192.168.0.200:8000/pombem.html">
<title>游戏服务门户</title></head><body>
<h1>欢迎来到游戏服务门户</h1>
<p>你现在已接入专属游戏服务热点,即将跳转到服务页面...</p>
<p>如果没有自动跳转,请<a href="http://192.168.0.200:8000/pombem.html">点击这里</a></p>
<h2>服务支持</h2>
<p>如需咨询请联系:0787429007 / 0751726782</p>
<h2>我们提供以下游戏相关产品:</h2>
<ol>
<li>PS3 售价500,000乌干达先令</li>
<li>XBOX 360 售价450,000乌干达先令</li>
<li>各类掌机</li>
<li>PS4/PS3/PS2/XBOX等全系列游戏手柄</li>
</ol>
<h2>游戏资源覆盖:</h2>
<ol>
<li>PS3</li>
<li>PC</li>
<li>PS2</li>
<li>手机</li>
<li>XBOX 360</li>
</ol>
</body></html>
)EOF";

// 不需要广告页、要求直接跳转的话,取消下一行注释即可
// #define DIRECT_REDIRECT

void setup() {
  WiFi.mode(WIFI_AP);
  WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
  WiFi.softAP("JOHN POMBE"); //可自行修改热点名称

  // 劫持所有DNS请求到ESP自身
  dnsServer.start(DNS_PORT, "*", apIP);

  webServer.onNotFound([]() {
    #ifdef DIRECT_REDIRECT
      // 直接302重定向到目标页面
      webServer.sendHeader("Location", targetUrl, true);
      webServer.send(302, "text/plain", "");
    #else
      // 返回带自动跳转的广告页
      webServer.send(200, "text/html", adHtml);
    #endif
  });
  webServer.begin();
}

void loop() {
  dnsServer.processNextRequest();
  webServer.handleClient();
}

调试注意事项

  • 烧录代码前先做连通性校验:用手机或电脑连接ESP热点,手动输入http://192.168.0.200:8000/pombem.html确认可以正常打开,排查miniweb服务器防火墙、网段配置问题
  • 主流安卓、苹果设备连接热点后会自动检测强制门户,配置正确的情况下会自动弹出页面,无需用户手动打开浏览器
  • 若部分设备跳转失败,可尝试把AP的IP段修改为192.168.4.1这类不常用网段,避免和用户原有保存的WiFi网段冲突

内容的提问来源于stack exchange,提问作者Bbira Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:36:03