gpt4 book ai didi

android - 无法连接到 Android 10 中的 HTTP URL

转载 作者:行者123 更新时间:2023-12-04 02:43:08 33 4
gpt4 key购买 nike

我正在使用 http://something用于登录过程的 API。但无法在 Android 10 中使用 API。对于其余版本,API 运行良好。首先,我遇到了 SocketTimeoutException。然后我尝试了以下解决方案。

1) 添加以下属性到 <application>在 list 中。

android:usesCleartextTraffic="true"

结果:仍然得到 SocketTimeoutException

2) 然后我添加了networkSecurityConfig :

<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">project.dev.company:6001/</domain>
<trust-anchors>
<certificates src="system"/>
</trust-anchors>
</domain-config>
</network-security-config>

结果:UnknownServiceException:网络安全策略不允许与 project.dev.company:6001/的 CLEARTEXT 通信。

3) 还尝试在 <base-config> 中允许 CLEARTEXT| .仍然得到 SocketTimeoutException

如何允许我的应用从 Android 10 访问 HTTP 连接?我正在使用 Retrofit2 进行网络调用。

最佳答案

在您的 xml 文件中使用此代码

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">project.dev.company</domain>
</domain-config>
</network-security-config>

并在 list 中使用此代码:

android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_configuration"

域中不需要任何“/”和端口,像我一样使用即可

编辑:

你可以使用你的 api 主机的 IP,像这样:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">192.168.1.1</domain>
</domain-config>
</network-security-config>

关于android - 无法连接到 Android 10 中的 HTTP URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58407173/

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