Я искал везде, но не смог найти ответ, есть ли способ сделать простой HTTP-запрос? Я хочу запросить страницу / скрипт PHP на одном из моих сайтов, но не хочу показывать эту страницу.
Если возможно, я даже хочу сделать это в фоновом режиме (в BroadcastReceiver)
android
httpwebrequest
androidhttpclient
Матс Хофман
источник
источник
Ответы:
ОБНОВИТЬ
Это очень старый ответ. Я определенно не буду рекомендовать клиент Apache больше. Вместо этого используйте либо:
Оригинальный ответ
Прежде всего, запросите разрешение на доступ к сети, добавьте в манифест следующее:
Тогда самый простой способ - использовать http-клиент Apache в комплекте с Android:
Если вы хотите, чтобы он работал в отдельном потоке, я бы рекомендовал расширить AsyncTask:
Затем вы можете сделать запрос по:
источник
если у вас нет явной причины выбрать Apache HttpClient, вы должны предпочесть java.net.URLConnection. Вы можете найти множество примеров того, как использовать его в Интернете.
мы также улучшили документацию по Android со времени вашего первоначального поста: http://developer.android.com/reference/java/net/HttpURLConnection.html
и мы говорили о компромиссах на официальном блоге: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
источник
Примечание. HTTP-клиент Apache, поставляемый в комплекте с Android, теперь устарел в пользу HttpURLConnection . Пожалуйста, смотрите блог разработчиков Android для более подробной информации.
Добавить
<uses-permission android:name="android.permission.INTERNET" />
в свой манифест.Затем вы получите веб-страницу следующим образом:
Я также предлагаю запустить его в отдельном потоке:
См. Документацию для получения дополнительной информации об обработке ответов и POST-запросах.
источник
readStream
даже не определено.Самый простой способ - использовать Android-библиотеку Volley.
Вы можете отправить запрос http / https так просто:
В этом случае вам не нужно рассматривать «запуск в фоновом режиме» или «использование кэша» самостоятельно, поскольку все это уже было сделано Volley.
источник
С уважением
источник
С резьбой:
источник
Я сделал это для веб-службы, чтобы запросить URL, используя библиотеку Gson:
Клиент:
источник
Посмотрите на эту удивительную новую библиотеку, которая доступна через Gradle :)
build.gradle:
compile 'com.apptakk.http_request:http-request:0.1.2'
Применение:
https://github.com/erf/http-request
источник
Используйте залп, как предложено выше. Добавьте следующее в build.gradle (Модуль: приложение)
Добавьте следующее в AndroidManifest.xml:
И добавьте следующий код активности:
Он заменяет http-клиент и очень прост.
источник
Это новый код для HTTP-запроса Get / POST в Android.
HTTPClient
ограничен и может быть недоступен, как это было в моем случае.Сначала добавьте две зависимости в build.gradle:
Затем напишите этот код
ASyncTask
вdoBackground
методе.источник
Для меня самый простой способ использовать библиотеку под названием Retrofit2.
Нам просто нужно создать интерфейс, который содержит наш метод запроса, параметры, а также мы можем сделать собственный заголовок для каждого запроса:
И самое лучшее, мы можем сделать это асинхронно легко, используя метод enqueue
источник
Поскольку ни один из ответов не описывает способ выполнения запросов с помощью OkHttp , который в настоящее время является очень популярным http-клиентом для Android и Java в целом, я приведу простой пример:
Очевидным преимуществом этой библиотеки является то, что она абстрагирует нас от некоторых низкоуровневых деталей, предоставляя более дружественные и безопасные способы взаимодействия с ними. Синтаксис также упрощен и позволяет писать хороший код.
источник