esp8266搭建DNS,连接在同一局域网下的浏览器通过自己设定映射的网址可以访问

esp8266搭建DNS,连接在同一局域网下的浏览器通过自己设定映射的网址可以访问

  • DNS的意思:域名系统。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网

  • 可以自行设定IP地址,网关地址,子网掩码,端口,和访问的网址

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

IPAddress local_IP(192,168,6,8);   //IP地址
IPAddress gateway(192,168,6,8);    //网关地址
IPAddress subnet(255,255,255,0);   //子网掩码

const byte DNS_PORT = 53; //DNS服务端口号,一般为53

DNSServer dnsServer; 
ESP8266WebServer webServer(80);

void handleRoot() {
     
  webServer.send(200, "text/plain", "XOXOXXO666");
}

void handleNext() {
     
  webServer.send(200, "text/plain", "168ABC168ABC168");
}

void hdy_information(){
     
   webServer.send(200, "text/plain", "hudengyan is handsome boy");
  }

void setup() {
     
  //初始化网络
  WiFi.mode(WIFI_AP);                 //设置为AP模式(热点)
  WiFi.softAPConfig(local_IP, gateway, subnet);
  WiFi.softAP("HDY ESP32");           //Ap模式下的WIFi名称

  //初始化DNSServer
  dnsServer.start(DNS_PORT, "www.XOXOXXOO666.com", local_IP);

  //初始化WebServer,esp8266路由分发
  webServer.on("/", handleRoot);
  webServer.on("/next", handleNext);
  webServer.on("/hdy", hdy_information);
  
  webServer.begin();
}

void loop() {
     
  //监听客户请求并处理
  dnsServer.processNextRequest();
  webServer.handleClient();
}



/*********************************************************************/
/*DNS的意思:域名系统*/
/*可以自行设定IP地址,网关地址,子网掩码,端口,和访问的网址*/
/*可扩展自己需要的web网页,通过路由分发*/
/*在浏览器输入自己设定的网址,即可以访问到首网页*/
/*若需要访问其他网页,则在浏览器地址栏输入:设定的网址+/路由分发的标记*/
  • 因为该代码已经把esp8266设为DNS域名系统,设定了AP模式,它拥有了IP地址,网关地址,子网掩码。然后再映射到自己设置的一个网址上。
  • 在连接同一局域网下的浏览器输入自己所设定的网址,即可以访问到首网页。如:
    在上述的代码中,输入:www.XOXOXXOO666.com,即可访问首网页;
  • 开发者也可扩展自己需要的web网页,通过路由分发
  • 若需要访问其他网页,则在浏览器地址栏输入:设定的网址+/路由分发的标记。如:
    www.XOXOXXOO666.com/hdy,即可以访问到路由中hdy所对应的网页内容。

你可能感兴趣的:(web端,arduino,esp8266,局域网,wifi,web)