ESP8266 CIPSEND GET HTTP 主机请求超时

ESP8266 CIPSEND GET HTTP Host Request Time-out

AT+CIPSEND=65


OK
> 
Recv 65 bytes

SEND OK

+IPD,394:HTTP/1.1 408 Request Time-out
Date: Wed, 24 Aug 2016 05:24:40 GMT
Server: Apache
Content-Length: 223
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>408 Request Time-out</title>
</head><body>
<h1>Request Time-out</h1>
<p>Server timeout waiting for the HTTP request from the client.</p>
</body></html>
CLOSED

我总是收到 408 请求超时 link 正在工作 长度还可以

tx 到 rx rx 到 tx

我搜索了 google 很多次。 仍然没有解决方案 我也尝试了不同的 link.

我正在使用 Arduino Mega 2560 和 esp8266 或 esp-01

我有办法

https://arduino.stackexchange.com/questions/23319/esp8266-sending-get-request-and-getting-408-timeout-error/23342#23342

我假设您是通过串行监视器执行所有这些操作的。您不能在串行监视器输入框中使用像 \r 这样的转义序列。您输入的所有内容都被评估为一串单独的 ASCII 字符; \r 只是一个反斜杠字符,后跟小写字母 r。要发送 HTTP 请求,您可以让串行监视器为您发送 \r\n。

  • 首先将串口监视器永久设置为BOTH NL & CR;它会很好地为您提供命令和 HTTP 请求,因为它会将 \r\n 附加到您发送的所有内容。
  • 计算您的 HTTP 请求中的字节数,包括回车 return 和换行符。我数了一下你的请求有 61 个字符。
  • 在AT+CIPSEND中使用这个计数
  • 您请求的第一行,并在第一行 \r\n 之前停止,然后单击“发送”。由于您的设置,监视器现在将发送您键入的内容并在其后缀 \r\n。
  • 键入并发送请求的每一行,就像发送第一行一样,直到发送完最后一行。
  • 由于在最后一行之后还有一个 \r\n,您再次单击“发送”,没有输入任何内容。又由于模块要求用\r表示数据包结束,所以最后点击发送一个。