在Arduino Web服务器中获取请求URL

问题描述

我试图显示发送到我的Arduino(mega + WiFi r3)Web服务器的任何值,我该怎么做?预先感谢。

使用此示例,服务器侦听“ ledOn”,然后执行操作,但是我希望服务器侦听来自客户端的任何请求,并在串行监视器中显示请求。

server.on("ledOn",[](){
// My code     
  });

解决方法

您可以在组合板上的ESP8266中使用ESP8266WebServer库。该引用位于README文件中,该库提供了很好的示例。

获取请求网址的功能是server.uri()

通常,不使用uri()函数读取URL,而是处理请求,但是 resource 部分(“路径”)与on()函数匹配setup()server.on("some/path",fncToHandle);一样,并且GET请求的URL参数由WebServer库解析,并提供了一组功能:

const String & arg();
const String & argName();
int args();
bool hasArg();

标准url参数以?的形式在name=value之后,用&分隔,例如

 /some/path?name=John&lastName=Smith

SimpleAuthentication示例中的代码段

来自setup()

server.on("/login",handleLogin);

来自handleLogin

  if (server.hasArg("USERNAME") && server.hasArg("PASSWORD")) {
    if (server.arg("USERNAME") == "admin" &&  server.arg("PASSWORD") == "admin") {

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...