HttpURLConnection возвращает ответ как DefaultHttpClient

java android http response httpurlconnection

179 просмотра

1 ответ

У меня старый код, который выполняет http-запрос с DefaultHttpClient, и я пытаюсь преобразовать его в HttpURLConnection, но у меня проблемы с ответом.

Вот оригинальный код:

private InputStream fetch(String urlString) throws MalformedURLException, IOException {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpGet request = new HttpGet(urlString);
            HttpResponse response = httpClient.execute(request);
            return response.getEntity().getContent();
        }

И вот что я пытаюсь сделать:

    HttpURLConnection conn = null;
    URL url;
    try
    {
        url = new URL(serviceUrl);
    }
    catch (MalformedURLException e)
    {
        throw new IllegalArgumentException("invalid url: " + serviceUrl);
    }

    try {

        conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setUseCaches(false);
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.connect();
        //Don't know what to do now to return the response(?)
    }

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

Автор: PaulD Источник Размещён: 08.11.2019 11:20

Ответы (1)


0 плюса

Вы можете использовать следующее:

InputStream inputStream = conn.getInputStream();
StringBuilder build = new StringBuilder();
    if (inputStream != null) {
        InputStreamReader ISreader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
        BufferedReader reader = new BufferedReader(ISreader);
        String line = reader.readLine();
        while (line != null) {
            build.append(line);
            line = reader.readLine();
        }
    }
return build.toString();

В этом коде вы получаете InputStreamот HttpUrlConnection, который используется для получения ответа с помощью InputStreamReaderи BufferedReader.

Автор: Siddharth Venu Размещён: 20.08.2016 01:05
Вопросы из категории :
32x32