Konvertujte curl u Swift

Konvertujte curl komande u Swift kod koristeći URLSession. curl2code se u potpunosti izvršava u vašem veb pregledaču putem WebAssembly-a — vaši podaci ostaju privatni. Za Kotlin (Android), isprobajte naš curl u Kotlin konvertor. Za Objective-C, pogledajte curl u Objective-C. Ispod su Swift primeri spremni za upotrebu.

Kako kopirati curl iz vašeg pregledača

  1. 1

    Otvorite DevTools

    Pritisnite F12 ili Ctrl+Shift+I da biste otvorili razvojne alate pregledača.

  2. 2

    Idite na karticu Network

    Kliknite na karticu Network i izvršite radnju koja pokreće HTTP zahtev.

  3. 3

    Kopirajte kao cURL

    Desni klik na zahtev → CopyCopy as cURL. Zatim ga nalepite iznad.

Često postavljana pitanja

Šta je Swift URLSession?

URLSession je Apple-ov ugrađeni HTTP klijent za iOS, macOS, watchOS i tvOS. On upravlja zadacima podataka, preuzimanjima, otpremanjima, WebSocket-om i pozadinskim transferima. Nije potrebna instalacija paketa — deo je Foundation-a. Podržava HTTP/2, keširanje i upravljanje kolačićima. curl2code generiše URLSession kod za sve Swift konverzije.

URLSession naspram Alamofire — koji treba da koristim?

URLSession je ugrađen i pokriva većinu potreba — koristite ga da biste izbegli zavisnosti od trećih strana. Alamofire dodaje pogodnosti: ulančane graditelje zahteva, automatsko ponavljanje, validaciju odgovora i multipart otpremanja. Za male projekte, URLSession je dovoljan. Za slične ugrađene pristupe, pogledajte naš curl u Kotlin konvertor ili curl u Objective-C.

Kako upravljati autentifikacijom u Swift-u?

Postavite zaglavlje na URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Za Basic auth, enkodirajte sa Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code automatski konvertuje -u i Bearer header zastavice u Swift kod.

Kako poslati multipart form data u Swift-u?

Ručno konstruišite multipart telo: generišite boundary string, dodajte svako polje/fajl sa CRLF separatorima i postavite Content-Type: multipart/form-data; boundary=.... Za lakši multipart, koristite Alamofire-ov upload(multipartFormData:). curl2code rukuje konverzijom -F zastavice za URLSession.

Kako upravljati HTTP greškama u Swift-u?

URLSession vraća opcioni Error u completion handler-ima — proverite da li je nil. Kastujte odgovor u HTTPURLResponse i proverite statusCode. Sa async/await (iOS 15+), koristite try await URLSession.shared.data(for: request) u do/catch bloku za čisto upravljanje greškama.

Kako koristiti async/await sa URLSession?

Swift 5.5+ izvorno podržava async/await: let (data, response) = try await URLSession.shared.data(for: request). Ovo zamenjuje closure-e completion handler-a linearnim kodom. Koristite Task { } za pozivanje iz sinhronih konteksta. Za konkurentne zahteve, koristite async let ili TaskGroup. Za slične obrasce, pogledajte curl u Dart.

Kako podesiti timeout-e u Swift URLSession?

Konfigurišite na URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (po zahtevu) i config.timeoutIntervalForResource = 300 (ukupno). Ili postavite request.timeoutInterval = 30 na pojedinačnim zahtevima. Ovo se mapira na curl-ove opcije --max-time i --connect-timeout.

Kako koristiti proksi sa URLSession?

Postavite proksi na URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Za SOCKS proksije, koristite kCFStreamPropertySOCKSProxy ključeve. URLSession takođe poštuje sistemska podešavanja proksija konfigurisana u macOS/iOS podešavanjima.

Kako poslati POST zahtev sa JSON telom u Swift jeziku?

Konvertujte curl POST komandu kao što je curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL u Swift koristeći curl2code. Generisani kod koristi request.httpBody = try JSONEncoder().encode(data). curl2code automatski detektuje -d/--data flegove sa JSON sadržajem i postavlja odgovarajući Content-Type zaglavlje u URLSession kodu.

Kako dodati Bearer token autorizaciju u Swift jeziku?

Prosledite curl -H "Authorization: Bearer YOUR_TOKEN" URL u curl2code i on generiše URLSession kod sa zaglavljem za autorizaciju: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code detektuje Bearer tokene iz -H "Authorization: Bearer ..." i --oauth2-bearer flegova. Za Basic auth, koristite -u user:pass.

Kako postaviti Content-Type zaglavlje u Swift jeziku?

curl2code konvertuje curl -H "Content-Type: application/json" URL u URLSession kod sa ispravnim zaglavljem: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Za -d podatke, curl podrazumevano koristi application/x-www-form-urlencoded; za -F otpremanje formi, koristi multipart/form-data. curl2code mapira svaki u odgovarajući URLSession API.

Korisni linkovi

Водичи за curl

Konvertujte curl u druge jezike