Konversi curl ke Swift

Konversi perintah curl ke kode Swift menggunakan URLSession. curl2code berjalan sepenuhnya di peramban Anda melalui WebAssembly — data Anda tetap pribadi. Untuk Kotlin (Android), coba konverter curl ke Kotlin kami. Untuk Objective-C, lihat curl ke Objective-C. Di bawah ini adalah contoh Swift yang siap digunakan.

Cara menyalin curl dari peramban Anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pengembang peramban Anda.

  2. 2

    Buka tab Network

    Klik tab Network dan lakukan tindakan yang memicu permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tempelkan di atas.

Pertanyaan yang Sering Diajukan

Apa itu Swift URLSession?

URLSession adalah HTTP client bawaan Apple untuk iOS, macOS, watchOS, dan tvOS. Library ini menangani tugas data, unduhan, unggahan, WebSocket, dan transfer latar belakang. Tidak perlu instalasi paket — ini adalah bagian dari Foundation. Mendukung HTTP/2, caching, dan manajemen cookie. curl2code menghasilkan kode URLSession untuk semua konversi Swift.

URLSession vs Alamofire — mana yang harus saya gunakan?

URLSession adalah bawaan dan mencakup sebagian besar kebutuhan — gunakan ini untuk menghindari dependensi pihak ketiga. Alamofire menambahkan kenyamanan: builder permintaan yang dapat dirantai, percobaan ulang otomatis, validasi respons, dan unggahan multipart. Untuk proyek kecil, URLSession sudah cukup. Untuk pendekatan bawaan yang serupa, lihat konverter curl ke Kotlin atau curl ke Objective-C kami.

Bagaimana cara menangani autentikasi di Swift?

Atur header pada URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Untuk autentikasi Basic, enkripsi dengan Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code mengonversi flag -u dan header Bearer ke kode Swift secara otomatis.

Bagaimana cara mengirim data formulir multipart di Swift?

Konstruksikan body multipart secara manual: buat string boundary, tambahkan setiap field/file dengan pemisah CRLF, dan atur Content-Type: multipart/form-data; boundary=.... Untuk multipart yang lebih mudah, gunakan upload(multipartFormData:) milik Alamofire. curl2code menangani konversi flag -F untuk URLSession.

Bagaimana cara menangani kesalahan HTTP di Swift?

URLSession mengembalikan Error opsional dalam completion — periksa apakah nil. Cast respons ke HTTPURLResponse dan periksa statusCode. Dengan async/await (iOS 15+), gunakan try await URLSession.shared.data(for: request) dalam blok do/catch untuk penanganan kesalahan yang bersih.

Bagaimana cara menggunakan async/await dengan URLSession?

Swift 5.5+ mendukung async/await secara native: let (data, response) = try await URLSession.shared.data(for: request). Ini menggantikan closure completion handler dengan kode linear. Gunakan Task { } untuk memanggil dari konteks sinkron. Untuk permintaan konkuren, gunakan async let atau TaskGroup. Untuk pola serupa, lihat curl ke Dart.

Bagaimana cara mengatur timeout di Swift URLSession?

Konfigurasikan pada URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (per permintaan) dan config.timeoutIntervalForResource = 300 (total). Atau atur request.timeoutInterval = 30 pada permintaan individual. Ini dipetakan ke opsi --max-time dan --connect-timeout milik curl.

Bagaimana cara menggunakan proxy dengan URLSession?

Atur proxy pada URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Untuk proxy SOCKS, gunakan kunci kCFStreamPropertySOCKSProxy. URLSession juga mematuhi pengaturan proxy seluruh sistem yang dikonfigurasi di pengaturan macOS/iOS.

Bagaimana cara mengirim POST request dengan JSON body di Swift?

Konversi perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL ke Swift menggunakan curl2code. Kode yang dihasilkan menggunakan request.httpBody = try JSONEncoder().encode(data). curl2code secara otomatis mendeteksi flag -d/--data dengan konten JSON dan mengatur header Content-Type yang sesuai dalam kode URLSession.

Bagaimana cara menambahkan otorisasi Bearer token di Swift?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan alat ini akan menghasilkan kode URLSession dengan header auth: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code mendeteksi Bearer token dari flag -H "Authorization: Bearer ..." maupun --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara mengatur header Content-Type di Swift?

curl2code mengonversi curl -H "Content-Type: application/json" URL ke kode URLSession dengan header yang tepat: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Untuk data -d, curl secara default menggunakan application/x-www-form-urlencoded; untuk unggahan formulir -F, curl menggunakan multipart/form-data. curl2code memetakan masing-masing ke API URLSession yang benar.

Tautan Berguna

Panduan curl

Konversi curl ke Bahasa Lain