2016-03-18 4 views
0

Мне нужно что-то, что «загружает» содержимое веб-страницы ... Я имею в виду, мне нужно иметь HTTP-ответ и хранить его в String var.Android - Отправить HTTP-запрос (API> 23)

Например если я вставить www.example.com, реакция будет выглядеть следующим образом: <html><head></head><body>THIS IS AN EXAMPLE etc etc etc...<><><>

Я попробовал некоторые коды я видел, но они от API < 23 и Android удалили HTTP Apache.

Заранее благодарим вас

+0

Вы можете рассмотреть возможность использования Retrofit. – Michael

+0

Duplicate: http://stackoverflow.com/questions/2793150/using-java-net-urlconnection-to-fire-and-handle-http-requests –

ответ

1

HttpUrlConnection является заменой для библиотек apache.

+0

@PaRiMaLRaJ Да, это так. Он сказал, что библиотеки Apache были удалены в v23, поэтому их нельзя использовать. Он был прав. Я сказал ему, что API заменил их. –

+0

Это было именно то, что я искал ... спасибо, Гейб! – Parene

0

Вы можете добавить

useLibrary 'org.apache.http.legacy' 

в Gradle файл, и вы можете использовать HTTP классы Apache в API 23 +.

0

у вас есть два варианта: 1- использование Android URLConnection для EX:

URL url = new URL("http://www.example.com"); 
    URLConnection urlConnection = url.openConnection(); 
    InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
    try { 
    readStream(in); 
    finally { 
    in.close(); 
    } 
} 

2- добавить следующие строки в ваш файл Gradle

useLibrary 'org.apache.http.legacy' 
0

Другой альтернативой было бы использовать библиотеку OKHttp ,

Добавьте это в Gradle файл:

компиляции 'com.squareup.okhttp3: okhttp: 3.2.0'

Библиотека относительно проста в использовании:

OkHttpClient client = new OkHttpClient(); 
Request request = new Request.Builder() 
     .url(url) 
     .build(); 

Response response = client.newCall(request).execute(); 
String body = response.body().string(); 
Смежные вопросы