android http URL-соединение работает с https, не работает с http - PullRequest
0 голосов
/ 04 мая 2020

Я попытался выполнить http GET, используя следующий код. Он отлично работает со строкой URL-адреса https, а не с URL-адресом http.

Я не понимаю, почему. Дается IOException. Вы можете помочь? Я пытался получить один и тот же URL-адрес, например, Google, с и без https, последний работает. В чем проблема? Я добавил в манифест разрешения пользователей для доступа к inte rnet.

package com.example.httptest;
import android.os.AsyncTask;
import android.util.Log;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
class GetData extends AsyncTask<String, Void, String> {

@Override
protected String doInBackground(String... params) {
    HttpURLConnection urlConnection = null;
    String result = "";
    try {
        //URL url = new URL("https://www.fineco.it");
        URL url = new URL("https://www.google.com");
        Log.e("MAU","0");
        urlConnection = (HttpURLConnection) url.openConnection();
        Log.e("MAU","1");
        int code = urlConnection.getResponseCode();
        Log.e("MAU","2");

        if (code == 200) {
            InputStream in = new BufferedInputStream(urlConnection.getInputStream());
            if (in != null) {
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
                String line = "";

                while ((line = bufferedReader.readLine()) != null)
                    result += line;
            }
            in.close();
        }
        Log.e("MAU",result);

        return result;
    } catch (MalformedURLException e) {
        Log.e("MAU","Malformed URL");

        e.printStackTrace();
    } catch (IOException e) {
        Log.e("MAU","IOException");

        e.printStackTrace();
    } finally {
        urlConnection.disconnect();
    }
    return result;
}

}

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Мне удалось найти этот пост, который решил проблему https://medium.com/mindorks/my-network-requests-are-not-working-in-android-pie-7c7a31e33330

0 голосов
/ 04 мая 2020

Добавьте эти строки в ваш androidManifest. xml в теге приложения и попробуйте отладить его

android:usesCleartextTraffic="true"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...