Volley, ngrok - Невозможно отправить запрос с использованием Volley на API-интерфейс REST ngrok. - PullRequest
1 голос
/ 22 июня 2019

Я использовал ngrok для нескольких проектов, в основном для голосовых приложений и остальных API.Мне просто нужно было использовать мой API для отдыха в приложении для Android.Тем не менее, что бы я ни делал, это не работает по некоторым причинам!

Если я пробую это с 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,вот что я получаю:


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 на моем компьютере, и он ничего не получает.К вашему сведению, я отправляю запрос по этому URL с помощью Volley в Kotlin, это мой код:

        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)

1 Ответ

0 голосов
/ 25 июня 2019

Я нашел проблему!Звучит глупо, но это был сетевой брандмауэр !Как только я переключил сеть, все заработало !!!

Просто чтобы добавить что-то, если у вас возникла проблема с 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>
...