【问题标题】:Esp8266 How to parse HTTP ResponseEsp8266 如何解析 HTTP 响应
【发布时间】:2017-12-28 11:12:18
【问题描述】:

我使用我的 ESP8266 向 Web 服务器发送 http get 请求。还有我的服务器 返回;

HTTP/1.1 200 OK 日期:2017 年 7 月 22 日星期六 11:16:10 GMT 服务器: Apache/2.4.10 (Raspbian) 内容长度:16 连接:关闭 内容类型:文本/html; charset=UTF-8

重要部分

如您所见,我需要“重要部分”来分配变量。我不想使用外部库。我想如果我们说整个消息等于 x,HTTP 响应部分是 y,如果我们做 x - y,我们会找到“重要部分”对吗?

我们该怎么做,我怎么才能读到 charset=UTF-8 来获取有效载荷?

【问题讨论】:

  • 为什么不使用外部库?有许多开箱即用的便携式 C 库,例如github.com/nodejs/http-parser(例如:gist.github.com/ry/155877
  • 看HTTP协议,headers和body之间应该有两个回车换行。阅读并丢弃,直到找到为止。
  • 你使用什么固件/SDK(Arduino、NodeMCU等)?

标签: esp8266


【解决方案1】:

您正在寻找 2 个连续的 CRLF (HTTP spec)。从接收缓冲区的开头开始读取,一旦遇到 0xD 0xA 0xD 0xA,您就处于重要部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2011-08-09
    相关资源
    最近更新 更多