ESP8266 – ESP8266WebServer库 – collectHeaders

位置导航: ESP8266库 / ESP8266WebServer库 / 本页

说明

使用ESP8266开发板实现的物联网服务器可以收集客户端发送的请求头信息。我们知道,HTTP客户端发送的请求信息中通常是包含多个HTTP请求头信息的。利用collectHeaders函数,我们可以设置需要获取的HTTP请求头信息,以便我们在后面的程序中加以处理使用。

请注意:在我们使用ESP8266WebServer库中的headersheaderheaderNamehasHeader 函数来获取浏览器请求头以前,需要首先调用本函数来设置ESP8266具体收集哪些请求头信息。

语法

server.collectHeaders(headerKeys, headerKeysCount)

参数

– headerKeys: 请求头名数组。此数组中的元素即是需要ESP8266处理或收集的请求头信息。下面我们看一个headerKeys数组的例子:
const char *headerKeys[] = {“Content-Length”, “Date”};
此数组共有两个元素,分别是”Content-Length”和”Date”。只有如此建立了数组后,接下来的程序里我们才可以使用其它ESP8266WebServer库函数来处理这两个请求头的信息内容。可以把这个数组看作是对ESP8266的提醒,即告诉ESP8266在后续的程序中,我们将要对数组中所包含的请求头信息进行处理。(具体操作方法,请见本函数的示例程序部分。)

– headerKeysCount: 需要获取/处理的请求头个数(可选参数,类型:size_t)

返回值

示例程序

当您将WiFi连接信息修改后并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将可以从串口监视器获取当前ESP8266开发板的IP。

接下来您可以通过浏览器地址栏输入ESP8266开发板的IP地址并键入回车(即向ESP8266开发板所建立的物联网服务器发送一个GET请求)。

浏览器请求发送之后,您就可以通过ESP8266开发板串口监视器看到浏览器发送的请求头信息中的connection以及HOST信息。(如下图所示)

esp8266-collect-headers-result
esp8266-collect-headers-result

相关内容

headers – 获得请求头数量
header – 获得指定请求头所对应的数值
headerName – 获取指定请求头的名称
hasHeader – 确定是否包含指定请求头

位置导航: ESP8266库 / ESP8266WebServer库 / 本页