Volley,ngrok - 无法使用 Volley 向 ngrok REST api 发出 post 请求
Volley, ngrok - Can't make a post request using Volley to a ngrok REST api
我一直在使用 ngrok 进行一系列项目,主要是语音应用程序和其他 apis。我只需要在 android 应用程序中使用我的休息 api。但是,无论我做什么,由于某些原因它都不起作用!
如果我尝试使用 http,这是我得到的错误:
E/Volley: [17118] BasicNetwork.performRequest: Unexpected response code 307 for http://1z5d90b4.ngrok.io/api/v1/users/id/
I/System.out: That didn't work! com.android.volley.ServerError
如果我尝试 https link,这就是我得到的:
com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: SSL handshake aborted: ssl=0xd7821100: I/O error during system call, Connection reset by peer
我不知道为什么,不知道是怎么回事!我在我的电脑上检查了 ngrok runnign,它没有收到任何东西。仅供参考,我正在使用 Kotlin 中的 Volley 对 url 提出 post 请求,这是我的代码:
val queue = Volley.newRequestQueue(this)
// Request a string response from the provided URL.
val stringRequest = JsonObjectRequest(Request.Method.POST, apiUrl, params,
Response.Listener { response ->
// Display the first 500 characters of the response string.
println("Response is: $response")
},
Response.ErrorListener { error -> println("That didn't work! ${error}") })
queue.add(stringRequest)
我找到问题了!听起来很傻,但它是 网络防火墙 !切换网络后,一切正常!!!
补充一下,如果您遇到 HTTP 请求问题,请尝试将 android:usesCleartextTraffic="true"
添加到 AndroidManifest.xml 文件。它将是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<!--Add this line if you haven't added it yet-->
<uses-permission android:name="android.permission.INTERNET" />
<application
...
<!--ALSO, this can fix some of the problems-->
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
我一直在使用 ngrok 进行一系列项目,主要是语音应用程序和其他 apis。我只需要在 android 应用程序中使用我的休息 api。但是,无论我做什么,由于某些原因它都不起作用!
如果我尝试使用 http,这是我得到的错误:
E/Volley: [17118] BasicNetwork.performRequest: Unexpected response code 307 for http://1z5d90b4.ngrok.io/api/v1/users/id/
I/System.out: That didn't work! com.android.volley.ServerError
如果我尝试 https link,这就是我得到的:
com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: SSL handshake aborted: ssl=0xd7821100: I/O error during system call, Connection reset by peer
我不知道为什么,不知道是怎么回事!我在我的电脑上检查了 ngrok runnign,它没有收到任何东西。仅供参考,我正在使用 Kotlin 中的 Volley 对 url 提出 post 请求,这是我的代码:
val queue = Volley.newRequestQueue(this)
// Request a string response from the provided URL.
val stringRequest = JsonObjectRequest(Request.Method.POST, apiUrl, params,
Response.Listener { response ->
// Display the first 500 characters of the response string.
println("Response is: $response")
},
Response.ErrorListener { error -> println("That didn't work! ${error}") })
queue.add(stringRequest)
我找到问题了!听起来很傻,但它是 网络防火墙 !切换网络后,一切正常!!!
补充一下,如果您遇到 HTTP 请求问题,请尝试将 android:usesCleartextTraffic="true"
添加到 AndroidManifest.xml 文件。它将是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<!--Add this line if you haven't added it yet-->
<uses-permission android:name="android.permission.INTERNET" />
<application
...
<!--ALSO, this can fix some of the problems-->
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>