我正在使用Volley对本地主机上的地址进行GET请求,但由于以下错误而失败:
Cleartext HTTP traffic to 192.168.1.45 not permitted
我在这里遵循了指南:Android 8:不允许明文HTTP流量,并做了以下操作:
已创建网络安全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>
将其添加到我的清单中,并允许明文通信:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.omerfaran.myudemyapp">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
我还是会犯同样的错误。从“http”更改为“https”会出现以下错误:
socket failed: EPERM (Operation not permitted)
我在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)
接下来我能做什么?
我在这里找到了答案:java。网SocketException:套接字失败:EPERM(不允许操作)
很明显,我要做的就是重新启动模拟器(或卸载应用程序)
您应该只包括IP地址,即:
<domain includeSubdomains="true">192.168.1.45</domain>
我正在用Kotlin做一个Android应用程序。我做了一个。NET Web Api,我从Kotlin连接到它。 我的问题是,当我向我的Web API发送请求时,我会得到一个异常“Cleartext HTTP traffic to localhost不允许”。
我的程序从用户那里获取一个URL,所以它可以对互联网上的任何网站提出请求。我试图使这成为可能,我查找了所有关于“Android HTTP Cleartext”错误的答案,并做出了这一点,但它仍然不允许我连接我的测试本地PHP服务器,我在这里遗漏了什么? 我的安全配置:
对于模拟器,我使用Genymotion模拟器(它使用VirtualBox)。 下面是使用的按钮的代码。我已经检查了所有的东西,但仍然一无所获。
问题内容: 为了解决CORS问题,我在那儿写了 在我的服务器站点中 但是在我的开发过程中,我看到了这个错误 我以为allow-origin:*会解决一切吗?但是为什么说标头包含多个值? 问题答案: 意外两次启用CORS时,这是一个常见问题。检查以确保未在apache中启用它,或者未设置标头两次。作为健全性检查,您可以尝试删除标头并将其重新添加回去,然后再提供响应。 例如: