W/SystemWebViewClient:被白名单阻止的 URL

Posted

技术标签:

【中文标题】W/SystemWebViewClient:被白名单阻止的 URL【英文标题】:W/SystemWebViewClient: URL blocked by whitelist 【发布时间】:2021-11-02 13:17:20 【问题描述】:

我有一个 Angular 应用程序,我尝试将它包装在适用于 android 的 cordova 应用程序中。但是,当 android 上的 cordova 应用程序时,我无法将针对服务器的请求列入白名单。 在将 cordova 应用程序作为浏览器应用程序进行测试时,没有任何问题。 我已经阅读了很多关于 cordova 上的白名单行为的文章和帖子,但没有任何结果。

我使用的是cordova 10。在阅读时,我不应该使用cordova-plugin-whitelist,因为在这个版本中,这个插件已经集成在主框架中。 config.xml 中的配置在创建项目时已经自动生成。 这是我的 config.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="de.acme.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" 
    xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>appname</name>
    <description>description</description>
    <author email="user@mail.de" href="https://mail.de">author</author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <access origin="*" />
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
</widget>

如您所见,带有访问源的标签是可用的。 我没有安装插件。但我也尝试安装cordova-plugin-whitelist。但这也没什么区别。

Angular 中的请求是带有 HTTPClient 的标准 GET 请求。但其他请求也不起作用。例如嵌入谷歌字体。

我想通过 GET 请求访问的服务器是我 LAN 中的服务器,地址如下:192.168.178.5:4003(特定端口!)

在 Logcat 中我收到此错误消息:

I/chromium: [INFO:CONSOLE(1)] "request: http://192.168.178.5:4003/api/audiobooks/tags", source: file:///android_asset/www/main.a7f87f00e27ff7637d70.js (1)
W/SystemWebViewClient: URL blocked by whitelist: http://192.168.178.5:4003/api/audiobooks/tags

我认为,这只是一个小配置问题。但我不知道应该在哪里寻找正确的解决方案。

谢谢

【问题讨论】:

【参考方案1】:

如果您使用 HTTP,您可能需要允许 Android 使用明文流量。见:https://cordova.apache.org/docs/en/dev/guide/platforms/android/index.html#android-quirks

如果您使用的是 cordova-android 10,请确保使用最新版本 (10.1.0),因为它包含重要的错误修复。

【讨论】:

以上是关于W/SystemWebViewClient:被白名单阻止的 URL的主要内容,如果未能解决你的问题,请参考以下文章

软件被白嫖,还要负无限责任!没有报酬,还要挨骂!开源太惨了!

mail邮箱

2018年度总结

应用间跳转

Openresty+redis实现灰度发布

抽空研究一下这一对词汇