这个问题一定是重复的,但我找不到答案。使用该ESP8266WebServer
库,有一种uri()
方法可以获取 uri。所以在示例中:http://example.com/index
,它会抓住/index
,但我也想获得example.com
. 有没有办法呢?
问问题
143 次
1 回答
0
该http(s)://host:port
部分不发送到服务器。客户端使用主机名解析 IP 地址,然后客户端连接到指定端口上的 IP 地址。
但是 HTTP 1.1 在对 HTTP 服务器的请求中有一个强制性的 Host 标头。
ESP8266 Arduino ESP8266WebServer 库使当前请求的标头可在 ESP8266WebServer 实例上访问。要获取 Host 标头,有一种hostHeader()
方法。
例子:
void handleRoot() {
Serial.print("The Host: header value: ");
Serial.println(server.hostHeader());
server.send(200, "text/plain", "hello from esp8266!\r\n");
}
ESP8266WebServer 的文档在这里。
于 2021-09-11T15:14:51.750 回答