Android 不允许到我的本地主机的明文HTTP通信
我正在使用Volley对本地主机上的地址执行GET请求,但由于以下错误而失败:Android 不允许到我的本地主机的明文HTTP通信,android,http,android-volley,Android,Http,Android Volley,我正在使用Volley对本地主机上的地址执行GET请求,但由于以下错误而失败: Cleartext HTTP traffic to 192.168.1.45 not permitted 我跟随导游来到这里: 并做了以下工作: 已创建网络安全xml文件: <?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitt
Cleartext HTTP traffic to 192.168.1.45 not permitted
我跟随导游来到这里:
并做了以下工作:
已创建网络安全xml文件:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">http://192.168.1.45/companyweb/greetings</domain>
</domain-config>
</network-security-config>
我在MainActivity中的代码:
val url = "http://192.168.1.45/companyweb/greetings"
val rq = Volley.newRequestQueue(this)
val sr = StringRequest(Request.Method.GET, url, Response.Listener { response ->
fragmentText.text = response
Log.d("TAG", "success")
}, Response.ErrorListener { error -> Log.d("TAG", "fail" + error.toString()) })
rq.add(sr)
接下来我可以做什么?您应该只包括IP地址,即:
<domain includeSubdomains="true">192.168.1.45</domain>
192.168.1.45
您应该只包括IP地址,即:
<domain includeSubdomains="true">192.168.1.45</domain>
192.168.1.45
我在这里找到了答案:
显然,我要做的是重新启动模拟器(或卸载应用程序)我在这里找到了答案:
显然,我要做的是重新启动emulator(或卸载应用程序)我在最近的一个项目中遇到了类似的问题,请尝试添加: android:UseClearTextTraffic=“true”
到应用程序标记下的AndroidManifext.xml文件。我在最近的项目中遇到类似问题,请尝试添加: android:UseClearTextTraffic=“true”
应用程序标记下的AndroidManifext.xml文件。
192.168.1.45
不是本地主机,而是我的IP,不是吗?url在我的浏览器中起作用什么是“我的”ip?每个设备都有自己的ip。个人电脑,安卓设备,笔记本电脑。。。你在说什么?什么是“我的”浏览器?在每个设备上都可以运行一个或多个浏览器。你说的是哪一个?192.168.1.45
不是本地主机,而是我的IP,不是吗?url在我的浏览器中起作用什么是“我的”ip?每个设备都有自己的ip。个人电脑,安卓设备,笔记本电脑。。。你在说什么?什么是“我的”浏览器?在每个设备上都可以运行一个或多个浏览器。那么你说的是哪一个呢?它不起作用,当我尝试时,我得到错误:java.net.SocketException:socket失败:EPERM(不允许操作)我认为这与将http更改为https相同?哦,我找到了答案,我必须重新启动模拟器…你的建议是对的,在这种情况下,它实际上与更改为https相同,谢谢。它不起作用,当我尝试时,我得到错误:java.net.SocketException:socket失败:EPERM(不允许操作)我认为这与更改http为https相同?哦,我找到了答案,我必须重新启动模拟器……你的建议是对的,在这种情况下,它实际上与更改为https相同,谢谢
<domain includeSubdomains="true">192.168.1.45</domain>