Saya telah mencari di mana-mana tetapi saya tidak dapat menemukan jawaban saya, apakah ada cara untuk membuat permintaan HTTP sederhana? Saya ingin meminta halaman / skrip PHP di salah satu situs web saya, tetapi saya tidak ingin menampilkan halaman web.
Jika mungkin saya bahkan ingin melakukannya di latar belakang (dalam BroadcastReceiver)
android
httpwebrequest
androidhttpclient
Mats Hofman
sumber
sumber
Jawaban:
MEMPERBARUI
Ini jawaban yang sangat lama. Saya pasti tidak akan merekomendasikan klien Apache lagi. Alih-alih gunakan:
Jawaban Asli
Pertama-tama, minta izin untuk mengakses jaringan, tambahkan berikut ini ke manifes Anda:
Maka cara termudah adalah dengan menggunakan klien Apache http yang dibundel dengan Android:
Jika Anda ingin menjalankannya di utas terpisah, saya sarankan memperluas AsyncTask:
Anda kemudian dapat mengajukan permintaan dengan:
sumber
kecuali Anda memiliki alasan eksplisit untuk memilih Apache HttpClient, Anda sebaiknya memilih java.net.URLConnection. Anda dapat menemukan banyak contoh cara menggunakannya di web.
kami juga telah menyempurnakan dokumentasi Android sejak posting asli Anda: http://developer.android.com/reference/java/net/HttpURLConnection.html
dan kami telah berbicara tentang pertukaran di blog resmi: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
sumber
Catatan: Klien HTTP Apache yang dibundel dengan Android sekarang tidak digunakan lagi karena mendukung HttpURLConnection . Silakan lihat Blog Pengembang Android untuk lebih jelasnya.
Tambahkan
<uses-permission android:name="android.permission.INTERNET" />
ke manifes Anda.Anda kemudian akan mengambil halaman web seperti itu:
Saya juga menyarankan menjalankannya di utas terpisah:
Lihat dokumentasi untuk informasi lebih lanjut tentang penanganan respons dan permintaan POST.
sumber
readStream
bahkan tidak didefinisikan.Cara paling sederhana adalah menggunakan lib Android yang disebut Volley
Anda dapat mengirim permintaan http / https sesederhana ini:
Dalam hal ini, Anda tidak perlu mempertimbangkan "menjalankan di latar belakang" atau "menggunakan cache" sendiri karena semua ini sudah dilakukan oleh Volley.
sumber
Salam
sumber
Dengan utas:
sumber
Saya membuat ini untuk layanan web untuk meminta kembali pada URL, menggunakan lib Gson:
Klien:
sumber
Lihatlah perpustakaan baru yang mengagumkan ini yang tersedia melalui gradle :)
build.gradle:
compile 'com.apptakk.http_request:http-request:0.1.2'
Pemakaian:
https://github.com/erf/http-request
sumber
Gunakan Volley seperti yang disarankan di atas. Tambahkan yang berikut ke build.gradle (Modul: aplikasi)
Tambahkan yang berikut ke AndroidManifest.xml:
Dan tambahkan kode aktivitas berikut kepada Anda:
Ini menggantikan klien http dan sangat sederhana.
sumber
Ini adalah kode baru untuk permintaan HTTP Get / POST di android.
HTTPClient
dihapus dan mungkin tidak tersedia seperti dalam kasus saya.Pertama tambahkan dua dependensi di build.gradle:
Kemudian tulis kode ini
ASyncTask
dalamdoBackground
metode.sumber
Bagi saya, cara termudah adalah menggunakan perpustakaan yang disebut Retrofit2
Kami hanya perlu membuat Antarmuka yang berisi metode permintaan kami, parameter, dan kami juga dapat membuat header khusus untuk setiap permintaan:
Dan yang terbaik adalah, kita dapat melakukannya dengan mudah secara serempak menggunakan metode enqueue
sumber
Karena tidak ada jawaban yang menjelaskan cara melakukan permintaan dengan OkHttp , yang merupakan klien http yang sangat populer saat ini untuk Android dan Java secara umum, saya akan memberikan contoh sederhana:
Keuntungan yang jelas dari perpustakaan ini adalah bahwa perpustakaan ini mengabstraksi kita dari beberapa detail tingkat rendah, menyediakan cara yang lebih ramah dan aman untuk berinteraksi dengan mereka. Sintaksnya juga disederhanakan dan memungkinkan untuk menulis kode yang bagus.
sumber