Saya mendekati pengembangan iOS dan saya ingin memiliki salah satu aplikasi pertama saya untuk melakukan permintaan HTTP POST.
Sejauh yang saya bisa mengerti, saya harus mengelola koneksi yang menangani permintaan melalui NSURLConnection
objek, yang memaksa saya untuk memiliki objek delegasi, yang pada gilirannya akan menangani peristiwa data.
Bisakah seseorang tolong menjelaskan tugas dengan contoh praktis?
Saya harus menghubungi titik akhir https mengirim data otentikasi (nama pengguna dan kata sandi) dan mendapatkan kembali respons teks biasa.
sumber
didReceiveAuthenticationChallenge
. Apakah ada masalah keamanan dengan kata sandi / nama pengguna hard-coding? Apakah ada cara untuk mengatasi ini?EDIT: ASIHTTPRequest telah ditinggalkan oleh pengembang. Ini masih IMO yang sangat bagus, tetapi Anda mungkin harus mencari di tempat lain sekarang.
Saya sangat merekomendasikan menggunakan perpustakaan ASIHTTPRequest jika Anda menangani HTTPS. Bahkan tanpa https itu menyediakan pembungkus yang sangat bagus untuk hal-hal seperti ini dan sementara itu tidak sulit untuk melakukannya sendiri melalui http polos, saya hanya berpikir perpustakaan itu bagus dan cara yang bagus untuk memulai.
Komplikasi HTTPS jauh dari sepele dalam berbagai skenario, dan jika Anda ingin menjadi kuat dalam menangani semua variasi, Anda akan menemukan perpustakaan ASI sangat membantu.
sumber
Saya pikir saya akan memperbarui posting ini sedikit dan mengatakan bahwa banyak komunitas iOS telah pindah ke AFNetworking setelah
ASIHTTPRequest
ditinggalkan. Saya sangat merekomendasikannya. Ini adalah pembungkus hebatNSURLConnection
dan memungkinkan untuk panggilan tidak sinkron, dan pada dasarnya apa pun yang Anda butuhkan.sumber
Ini jawaban yang diperbarui untuk iOS7 +. Ini menggunakan NSURLSession, kepanasan baru. Penafian, ini belum diuji dan ditulis dalam bidang teks:
Atau lebih baik lagi, gunakan AFNetworking 2.0+. Biasanya saya akan subclass AFHTTPSessionManager, tapi saya menempatkan ini semua dalam satu metode untuk memiliki contoh singkat.
Jika Anda menggunakan serializer respons JSON, responseObject akan menjadi objek dari respons JSON (seringkali NSDictionary atau NSArray).
sumber
CATATAN: Pure Swift 3 (Xcode 8) contoh: Silakan coba kode sampel berikut. Ini adalah contoh sederhana dari
dataTask
fungsiURLSession
.sumber
Xcode 8 dan Swift 3.0
Menggunakan URLSession:
URLSession Delegate call:
Menggunakan Block GET / POST / PUT / DELETE:
Bekerja dengan baik untuk saya .. coba 100% jaminan hasil
sumber
Berikut adalah cara kerja permintaan HTTP POST untuk iOS 8+ menggunakan NSURLSession:
Semoga ini memenuhi kebutuhan Anda sebagai berikut.
sumber