如何使用esp8266客户端登录Web服务器?

问题描述 投票:0回答:1

我正在努力使用ESP8266客户端登录我的Web服务器(该服务器在本地网络的PC主机中运行)。 ESP必须登录才能查看天气,它必须激活与否连接的传感器。用户可以通过登录门户来更改传感器激活状态(开/关)。因此,esp8266必须始终意识到这一点。我想到的是,ESP8266必须像其他浏览器客户端一样登录。首先,它应通过以下代码进入登录页面:

client.print(String("GET /public_html/login.php") + " HTTP/1.1\r\n" +
             "Host: " + host + "\r\n" +
             "Connection: close\r\n" +
             "\r\n"
            );

然后我应该将用户名和密码发布到服务器。通过浏览器登录的普通人类用户通过以下表单登录:

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
        <div class="form-group <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
            <label>username</label>
            <input type="text" name="username" class="form-control" value="<?php echo $username; >">
        </div>    
        <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
            <label>password</label>
            <input type="password" name="password" class="form-control">
        </div>
        <div class="form-group">
            <input type="submit" class="btn btn-primary" value="Login">
        </div>
    </form>

我如何做与ESP8266相同的事情?

arduino esp8266 arduino-ide esp32 arduino-esp8266
1个回答
0
投票

首先,您必须在服务器上定义一个发布路由,该路由可以侦听esp发布请求。您可以使用包含加密凭据的post方法从esp发送一个json字符串。根据服务器端收到的凭据,您可以决定是否对设备进行身份验证,并将相同结果返回给设备。

© www.soinside.com 2019 - 2024. All rights reserved.