gpt4 book ai didi

java - Android Fresco SimpleDraweeView.setImageURI 不适用于此 http url

转载 作者:行者123 更新时间:2023-11-29 23:13:17 24 4
gpt4 key购买 nike

mySimpleDraweeView.setImageURI(Uri.parse("http://cdn.cnn.com:80/cnn/.e1mo/img/4.0/logos/menu_politics.png"));

这是来自 cnn 链接预览的 url。它是一个 http url 而不是 https url。它在路径中有一个端口 :80。

如果我将该 url 放入网络浏览器,它会被解析为“http://cdn.cnn.com/cnn/.e1mo/img/4.0/logos/menu_politics.png”并且那里有一张图片。

如果我尝试从 Web 浏览器使用“http://cdn.cnn.com/cnn/.e1mo/img/4.0/logos/menu_politics.png”调用 setImageURI,它仍然不起作用。

如果我尝试使用“https://cdn.cnn.com/cnn/.e1mo/img/4.0/logos/menu_politics.png”调用 setImageURI,它会起作用。

我正在为 Fresco 使用自定义 OKHttp3 OkHttpClient。我尝试使用此处描述的 getUnsafeOkHttpClient https://stackoverflow.com/a/25992879/1578222 , 但没有看到它的行为发生变化。

我也尝试设置 OkHttpClient.followRedirects 但它也没有修复它:

httpClient.followSslRedirects(true);
httpClient.followRedirects(true);

最佳答案

我从 OKHttp3 客户端找到了一条日志消息,它帮助我找出了问题:

<-- HTTP 失败:java.net.UnknownServiceException:网络安全策略不允许与 cdn.cnn.com 的 CLEARTEXT 通信

解决了我将 Android Manifest 文件的 Application 对象更改为包括:

android:usesCleartextTraffic="true"

关于java - Android Fresco SimpleDraweeView.setImageURI 不适用于此 http url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55731469/

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