【问题标题】:No response from server after a esp8266 POST requestesp8266 POST 请求后服务器没有响应
【发布时间】:2017-03-21 23:37:10
【问题描述】:

我对 esp8266 很陌生,但我遇到了问题。如果有人可以帮助我,那就太好了:)

我的问题是;当我从我的 esp-01 向网站发送发布请求时,我无法收到任何响应标头。 我知道该网站很好,因为它在使用http://requestmaker.com 发送发布请求时有效(并且我也收到了标头和数据)

那么,为什么我在使用相同的发布请求时没有通过 esp8266 收到任何响应??

所以,这是我在串行监视器中的命令:

AT+CIPSTART="TCP","franz95.000webhostapp.com",80

CONNECT
OK
AT+CIPSEND=162

OK
> POST /esp8266_receiver.php HTTP/1.1\r\nHost: franz95.000webhostapp.com\r\nAccept: */*\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 9\r\n\r\ndata=1234

busy s...

SEND OK
CLOSED

这是我的标题:

POST /esp8266_receiver.php HTTP/1.1
Host: franz95.000webhostapp.com
Accept: */*
Content-Type: application/x-www-form-urlencoded
Content-Length: 9

data=1234

这是 requestmaker.com 的标头响应:

HTTP/1.1 200 OK
Date: Tue, 21 Mar 2017 23:23:50 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: awex
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Request-ID: 2c8d35a7a44ec64045f1059343a72b44

<p>EXITO : Se ha logrado escribir en el documento, data =1234</p>

【问题讨论】:

  • 在串行监视器中键入\n 会发送/ 和n 字符而不是单个换行符。
  • 我应该如何发送 CR 和 NL 扔串行监视器?
  • 你能把你最后使用的命令粘贴一下吗?我不确定您所说的“CR 和 LF 的 ascii 字符”是什么意思,我也面临同样的问题

标签: arduino at-command esp8266 arduino-esp8266


【解决方案1】:

通过切换使用透传模式

AT+CIPSTART="TCP","franz95.000webhostapp.com",80
CONNECT
OK    
AT+CIPMODE=1
OK
AT+CIPSEND
>

然后将您的标题复制粘贴到控制台以传递数据。

【讨论】:

  • 它不起作用,它应该像我在串行监视器中键入的那样工作..还有其他想法吗?
  • 不,\n 只是 NL 的一个字节。但是你发送\ + n,2个字节。打开记事本++,确保您的 CR + NL 包含在标题中。
  • Notepad++相关文档:superuser.com/questions/545461/…
  • @Franz95 试试看?
  • 感谢您的回答,您说得对!看来我正在发送\ + n,(两个字节)。我证明发送 CR 和 LF 的 ascii 字符并且它有效!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 2020-08-19
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
  • 2013-11-01
相关资源
最近更新 更多