代码之家  ›  专栏  ›  技术社区  ›  Robert Lewis

Safari说“无法打开页面”,但JSON返回正常[关闭]

  •  -2
  • Robert Lewis  · 技术社区  · 7 年前

    我的自制Wi-Fi温度传感器在连接到我的一个访问点时工作,但在另一个访问点上,我得到“Safari无法打开页面,因为服务器意外断开了连接。”但是查看设备日志(在Arduino中),它似乎正确地响应了一个非常短的JSON记录:

    new client
    Request: GET /temperature/F HTTP/1.1
    Response: {"TempF":65.30}
    
    Client disconnected
    

    另外,使用 curl http://xx.yy.zz.ww/temperature/F 生成所需的json响应。

    我不知道从哪里开始寻找问题(用chrome试过,得到了相同的结果)。

    我已经启用了Safari的“开发”菜单。我已经检查了所有的路由器设置,没有看到任何可能导致这种情况的东西。

    我正在使用Arduino ESP8266库。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Geno Chen    7 年前

    我没有Arduino板,也没有使用那个库,但是我认为这可以解决你的问题。

    至于我对 Arduino ESP8266 library ,它只是一个tcp和udp库,而不是http库。所以您必须自己实现所有的http头,也可以由 Request 你问题中的字段。我想如果 Response 使用有效的http响应格式可以解决这个问题,例如

    Response: HTTP/1.1 200 OK\r\nContent-Length: 15\r\n\r\n{"TempF":65.30}