gpt4 book ai didi

当网页响应错误状态时,Android webview onReceivedError() 不被调用

转载 作者:行者123 更新时间:2023-11-29 19:02:51 25 4
gpt4 key购买 nike

如果 webview 尝试加载一些不存在的页面,则调用 onReceivedError(),但如果服务器/网站选择以错误状态(例如状态 500)进行响应,则不会调用它。

# Django returning status 500
return HttpResponseServerError("returned status 500")

此响应出现在状态为 500 的常规 Chrome 浏览器中。但是,webview 只是加载它,从不调用 onReceivedError()。

应用程序/ WebView 如何判断服务器是否正在发回错误状态?我需要像处理任何错误一样处理它。

谢谢!

最佳答案

看这里Android Developer WebViewClient.

您可以在此处阅读 onReivedError 正在响应的错误。 HTML 错误 500(内部服务器错误不在其中)。此外,ReceivedError 自版本 23 起已弃用。您可以在之前的链接中阅读所有内容。

我很快环顾四周,发现了更多关于如何获取 http 错误的问题,大多数答案是否定的。

因此,也许您可​​以通过使用 HttpURLConnection 测试网站并使用方法 getResponseCode 来获取服务器状态来使用技巧。例如,您可以将一个小文件放在服务器上,然后尝试使用 HttpURLConnection 获取这个小文件。如果存在内部服务器错误,您将收到 500 错误作为响应。然后您可以随心所欲地处理事情。

我知道这不是最优雅的答案,但正如我所说,也许您可​​以使用某种技巧。

关于当网页响应错误状态时,Android webview onReceivedError() 不被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48270540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com