我尝试将我的REST API从localhost与android应用程序连接起来。 我在Windows上使用xampp作为我的apache serever。当我试图通过Postman使用此链接从我的计算机获取时,其余的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)
}
网址为http://192.168.1.107/RightBoard/Web/right-board/public/api/login
,我从IP="192.168.1.107"
获得ipconfig
。但现在我收到了这个错误:
java.net.ConnectException: failed to connect to /192.168.1.107 (port 80) after 10000ms: isConnected failed: EHOSTUNREACH (No route to host)
我检查过手机和电脑都在同一个wifi上。我在另一部手机上运行该应用程序。我甚至尝试重新启动计算机和xampp ......但每次都是同样的错误。 我还在我的应用中使用了该权限:
<uses-permission android:name="android.permission.INTERNET"/>
答案 0 :(得分:0)
设置IP地址,并将您的手机连接到与系统IP地址相同的wifi地址,然后确定要重新启动您的手机有效。