通过Esp8266传递俘虏门户

时间:2019-02-27 12:18:09

标签: webserver esp8266 captiveportal

我正在尝试以0成功绕过iOS上的强制门户。 Web服务器是基于WiFiManager.h lib的Wemos ESP8266,我一直在开发该lib以满足我的需求。实现的功能之一是在将板设置为Wifi时立即在HTML上打印板的IP地址,然后关闭板的WiFi信号。

我成功地将PC用户重定向到所需的页面,但是具有强制门户的我很难归档该功能。 在研究中,我发现了这段<html> success </html>代码,以欺骗俘虏以为我已经建立了互联网连接!但我无法正确实施。

有人可以帮忙吗?如何正确处理代码,以使俘虏被绕开。 Ty

1 个答案:

答案 0 :(得分:0)

在setup()中使用Arduino IDE / bootloader,我这样做:

CODE1 | CODE2  | TIME_DIFF
00001 |  AAA   | 10 MINUTES 
00001 |  BBB   | 5 MINUTES
00001 |  AAA   | 5 MINUTES

循环就是

const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 1, 1);
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
WiFi.softAP("My Device SSID");

dnsServer.start(DNS_PORT, "*", apIP);

webServer.on("/hotspot-detect.html", handleAppleCaptivePortal);
webServer.begin();

处理程序函数如下:

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

这似乎完全是假冒我的iPhone。它只是连接到网络,就好像它具有Internet连接一样。