onReceivedError((,但如果服务器/网站选择以错误状态(例如状态 500(响应,则不会调用它。
# Django returning status 500
return HttpResponseServerError("returned status 500")
此响应会显示在状态为 500 的常规 Chrome 浏览器中。但是,Web 视图只是加载它,从不调用 onReceivedError((。
应用程序/Web 视图如何判断服务器是否正在发回错误状态?我需要像处理任何错误一样处理它。
谢谢!
看看这里 Android 开发者 WebViewClient.
您可以在此处阅读有关ReivedError上的哪些错误正在响应的信息。HTML 错误 500(内部服务器错误不在其中(。此外,从版本 23 开始不推荐使用接收错误。您可以在前一个链接中阅读所有内容。
我很快环顾四周,发现了更多关于如何获取http错误的问题,大多数答案都是否定的。
因此,也许您可以通过使用HttpURLConnection测试网站并使用getResponseCode方法来获取服务器的状态。例如,您可以在服务器上放置一个小文件,然后尝试使用HttpURLConnection获取此小文件。如果存在内部服务器错误,您将收到 500 错误作为响应。然后你可以随心所欲地处理事情。
我知道这不是最优雅的答案,但正如我所说,也许你可以使用某种技巧。