将 Esp8266 客户端连接到本地 Web 服务器的子目录

connecting Esp8266 client to sub-directory of a local web server

我要将 Esp8266 客户端连接到本地网络服务器。在这里,我连接到本地 Web 服务器中的一个子目录。在浏览器中 只需输入即可轻松完成:192.168.1.103/public_html/register.php 说到esp8266,我用的是下面这个函数:client.connect(host, 80)。在此函数中,主机可以是 IP 地址数组或 URL。给主机一个值 192.168.1.103/public_html/register.php 不会导致 esp8266 客户端连接到服务器子目录。但是,当我为主机提供 192.168.1.103(服务器 IP)的值时,连接到 IP 地址没有问题。如果您能帮助我找到解决问题的方法,我将不胜感激。

ESP8266WiFi库的WiFiClient封装了一个TCP套接字。 TCP 套接字连接到创建服务器端套接字的 IP 地址和端口。套接字连接后,任何数据都可以通过它双向发送和接收。

The HTTP communication protocol 是一种应用层通信协议,通常 运行 通过 TCP 套接字连接。它使 HTTP 服务器理解来自 HTTP 客户端的请求,并让客户端理解响应。

要进行 HTTP 通信,请通过 TCP 套接字 (WiFiClient) 向服务器发送有效的 HTTP 请求。或者使用HTTPClient为你处理HTTP协议。

使用 WiFiClient 的 HTTP GET 请求示例:

  if (client.connect(server, 80)) {
    client.println("GET /public_html/register.php HTTP/1.1");
    client.print("Host: ");
    client.println(server);
    client.println("Connection: close");
    client.println();
    client.flush();
  }