java.net.ConnectException:10000 毫秒后无法连接到 /192.168.1.107(端口 80):isConnected 失败:EHOSTUNREACH(没有到主机的路由)
java.net.ConnectException: failed to connect to /192.168.1.107 (port 80) after 10000ms: isConnected failed: EHOSTUNREACH (No route to host)
我正在尝试将我的 REST API 从本地主机连接到 android 应用程序。
我在 Windows 上使用 xampp 作为我的 apache 服务器。当我尝试通过 Postman 使用此 link 从我的计算机获取时,其余 api 正常工作:
http://127.0.0.1/RightBoard/Web/right-board/public/api/login
在 android 设备上,我正在尝试使用 Volley 获取响应。这是我的代码:
fun post(url: String, params: MutableMap<String, String>, listener: ResponseListener, token: String = "") {
val request = object : StringRequest(
Request.Method.POST,
url,
Response.Listener<String> {
listener.onResponseReceived(JSONObject(it))
},
Response.ErrorListener {
it.printStackTrace()
if (it.networkResponse?.data != null) {
val json = JSONObject(it.networkResponse.data.toString(Charsets.UTF_8))
Log.e(Keys.TAG, json.toString())
}
}
) {
override fun getParams(): MutableMap<String, String> {
return params
}
override fun getHeaders(): MutableMap<String, String> {
val headers = HashMap<String, String>()
headers["Authorization"] = "Bearer $token"
return headers
}
}
request.retryPolicy = DefaultRetryPolicy(
10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT
)
VolleySingleton.instance?.addToRequestQueue(request)
}
url 是 http://192.168.1.107/RightBoard/Web/right-board/public/api/login
,我从 ipconfig
得到 IP="192.168.1.107"
。但现在我收到了这个错误:
java.net.ConnectException: failed to connect to /192.168.1.107 (port 80) after 10000ms: isConnected failed: EHOSTUNREACH (No route to host)
我检查过 phone 和计算机都在同一个 wifi 中。我 运行 另一个 phone 中的应用程序。我什至尝试重新启动计算机并 xampp... 但每次都出现相同的错误。
我也在我的应用程序中使用了权限:
<uses-permission android:name="android.permission.INTERNET"/>
我找到了解决方案。
我禁用了 Windows Defender 防火墙(在我的网络处于活动状态的私人部分)
通过检查命令提示符 (ipconfig) 来设置 ip 地址到您的 .class, Httppost url=("http://192.168.0.116/something.php") 并将您的手机连接到与您相同的 wifi 地址系统 ip 地址,只需重新启动您的手机就可以了。
我正在尝试将我的 REST API 从本地主机连接到 android 应用程序。 我在 Windows 上使用 xampp 作为我的 apache 服务器。当我尝试通过 Postman 使用此 link 从我的计算机获取时,其余 api 正常工作:
http://127.0.0.1/RightBoard/Web/right-board/public/api/login
在 android 设备上,我正在尝试使用 Volley 获取响应。这是我的代码:
fun post(url: String, params: MutableMap<String, String>, listener: ResponseListener, token: String = "") {
val request = object : StringRequest(
Request.Method.POST,
url,
Response.Listener<String> {
listener.onResponseReceived(JSONObject(it))
},
Response.ErrorListener {
it.printStackTrace()
if (it.networkResponse?.data != null) {
val json = JSONObject(it.networkResponse.data.toString(Charsets.UTF_8))
Log.e(Keys.TAG, json.toString())
}
}
) {
override fun getParams(): MutableMap<String, String> {
return params
}
override fun getHeaders(): MutableMap<String, String> {
val headers = HashMap<String, String>()
headers["Authorization"] = "Bearer $token"
return headers
}
}
request.retryPolicy = DefaultRetryPolicy(
10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT
)
VolleySingleton.instance?.addToRequestQueue(request)
}
url 是 http://192.168.1.107/RightBoard/Web/right-board/public/api/login
,我从 ipconfig
得到 IP="192.168.1.107"
。但现在我收到了这个错误:
java.net.ConnectException: failed to connect to /192.168.1.107 (port 80) after 10000ms: isConnected failed: EHOSTUNREACH (No route to host)
我检查过 phone 和计算机都在同一个 wifi 中。我 运行 另一个 phone 中的应用程序。我什至尝试重新启动计算机并 xampp... 但每次都出现相同的错误。 我也在我的应用程序中使用了权限:
<uses-permission android:name="android.permission.INTERNET"/>
我找到了解决方案。 我禁用了 Windows Defender 防火墙(在我的网络处于活动状态的私人部分)
通过检查命令提示符 (ipconfig) 来设置 ip 地址到您的 .class, Httppost url=("http://192.168.0.116/something.php") 并将您的手机连接到与您相同的 wifi 地址系统 ip 地址,只需重新启动您的手机就可以了。