Safari 显示 "can't open page" 但 JSON return 是正常的

Safari says "can't open page" but JSON return is normal

我的自制 Wi-Fi 温度传感器在连接到我的一个接入点时可以工作,但在连接到另一个接入点时我得到了 "Safari can't open the page because the server unexpectedly dropped the connection." 然而,查看设备日志(在 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 的 "Develop" 菜单。我已经完成了所有路由器设置,没有发现任何可能导致此问题的原因。

我正在使用 Arduino ESP8266 库。

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

至于我搜索的Arduino ESP8266 library,它只是一个TCP和UDP库,而不是一个HTTP库。所以你必须自己实现所有的 HTTP headers ,这也可以通过你的问题中的 Request 字段来指示。然后我认为如果用有效的 HTTP 响应格式填充 Response 可能会解决这个问题,例如

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