我要将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地址没有问题。如果您能帮助我找到解决方法,我将不胜感激。
答案 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();
}