HttpURlConnection не подключается - PullRequest
0 голосов
/ 07 февраля 2019

Я делаю HttpUrlConnection с помощью Usgs API.Это мой URL:

"https://earthquake.usgs.gov/fdsnws/event/1/queryformat=geojson&eventtype=earthquake&orderby=time&minmag=6&limit=10"

После тщательной отладки кажется, что после connection.connect происходит сбой соединения и jsonResponse пуст.

 public static String makeHttprequest(URL url) throws IOException {
        String jsonResponse = "";
        HttpURLConnection connection = null;
        InputStream stream = null;
        try {
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setReadTimeout(1000000);
            connection.setConnectTimeout(1500000);

            connection.connect();

            stream = connection.getInputStream();
            jsonResponse = readfromstream(stream);

        } catch (IOException e) {
            Log.e("IOException", "Error while making request");
        }

        return jsonResponse;
    }

Это лог

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Все выглядит хорошо.Мне кажется, что у вас нет подключения к Интернету на ваших работающих устройствах.Возможно, вы используете эмулятор на вашем компьютере, который не подключен к Интернету.

Пожалуйста, попробуйте запустить в реальном устройстве.Он отлично работает для меня.

Небольшой совет, пожалуйста, попробуйте использовать библиотеки, такие как Retrofit или OkHttp.Они намного проще и удобнее, чем эти старые способы.

Если вы настаиваете на использовании HttpURLConnection, попробуйте следующее

URL url = new URL(yourUrlString);
   HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
   try {
     InputStream in = new BufferedInputStream(urlConnection.getInputStream());
     readStream(in);
   } finally {
     urlConnection.disconnect();
   }

Или для более формального использования HttpURLConnection посетите здесь.Он показывает несколько правильного использования HttpURLConnection API.

https://developer.android.com/reference/java/net/HttpURLConnection

0 голосов
/ 07 февраля 2019

только что попробовал мое приложение на реальном устройстве, все работает, как и ожидалось, может быть проблема с эмулятором.

...