Safari表示“无法打开页面”,但JSON返回正常

时间:2018-06-30 03:03:31

标签: arduino wifi esp8266

我的自制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 个答案:

答案 0 :(得分:0)

我没有Arduino开发板,也没有使用该库,但是我认为这可以解决您的问题。

至于我对Arduino ESP8266 library的搜索,它只是一个TCP和UDP库,而不是HTTP库。因此,您必须自己实现所有HTTP标头,也可以在问题中的Request字段中指出。然后,我认为,如果用有效的HTTP响应格式填充Response可以解决此问题,例如

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