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

时间:2020-05-20 09:46:08

标签: arduino esp8266 arduino-ide esp32 arduino-esp8266

我要将Esp8266客户端连接到本地Web服务器。在这里,我正在连接到本地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地址没有问题。如果您能帮助我找到解决方法,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

ESP8266WiFi库的WiFi客户端包装一个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();
  }