从 ESP8266WebServer 抓取完整 url

grab full url from ESP8266WebServer

这个问题一定是重复的,但我找不到答案。 使用 ESP8266WebServer 库,有一个 uri() 方法来获取 uri。所以在例子中:http://example.com/index,它会抢/index,但我也想获得example.com。有方法吗?

http(s)://host:port 部分没有发送到服务器。客户端使用主机名解析 IP 地址,然后客户端连接到指定端口上的 IP 地址。

但是 HTTP 1.1 在对 HTTP 服务器的请求中有一个强制性的主机 header。

ESP8266 Arduino ESP8266WebServer 库使当前请求的 header 可在 ESP8266WebServer 实例上访问。要获取主机 header,有一个 hostHeader() 方法。

示例:

void handleRoot() {
  Serial.print("The Host: header value: ");
  Serial.println(server.hostHeader());
  server.send(200, "text/plain", "hello from esp8266!\r\n");
}

ESP8266WebServer 的文档是 here