Konvertera curl till Swift
Konvertera curl-kommandon till Swift-kod med URLSession. curl2code körs helt i din webbläsare via WebAssembly — din data förblir privat. För Kotlin (Android), prova vår curl till Kotlin-konverterare. För Objective-C, se curl till Objective-C. Nedan finns färdiga Swift-exempel.
Hur man kopierar curl från din webbläsare
- 1
Öppna DevTools
Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.
- 2
Gå till fliken Network
Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.
- 3
Kopiera som cURL
Högerklicka på begäran → Copy → Copy as cURL. Klistra sedan in den ovan.
Vanliga frågor
Vad är Swift URLSession?
URLSession är Apples inbyggda HTTP-klient för iOS, macOS, watchOS och tvOS. Den hanterar datauppgifter, nedladdningar, uppladdningar, WebSocket och bakgrundsöverföringar. Ingen paketinstallation krävs — den är en del av Foundation. Stödjer HTTP/2, cachning och cookie-hantering. curl2code genererar URLSession-kod för alla Swift-konverteringar.
URLSession vs Alamofire — vilken ska jag använda?
URLSession är inbyggd och täcker de flesta behov — använd den för att undvika externa beroenden. Alamofire lägger till bekvämlighet: kedjebara anropsbyggare, automatisk omprövning, validering av svar och multipart-uppladdningar. För små projekt räcker URLSession. För liknande inbyggda tillvägagångssätt, se vår curl till Kotlin-konverterare eller curl till Objective-C.
Hur hanterar man autentisering i Swift?
Ställ in headern på URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). För Basic-autentisering, koda med Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code konverterar -u och Bearer-header-flaggor till Swift-kod automatiskt.
Hur skickar man multipart-formulärdata i Swift?
Konstruera multipart-body manuellt: generera en boundary-sträng, lägg till varje fält/fil med CRLF-separatorer och ställ in Content-Type: multipart/form-data; boundary=.... För enklare multipart, använd Alamofires upload(multipartFormData:). curl2code hanterar konvertering av -F-flaggor för URLSession.
Hur hanterar man HTTP-fel i Swift?
URLSession returnerar en valfri Error i completions — kontrollera om den är nil. Casta svaret till HTTPURLResponse och kontrollera statusCode. Med async/await (iOS 15+), använd try await URLSession.shared.data(for: request) i ett do/catch-block för ren felhantering.
Hur använder man async/await med URLSession?
Swift 5.5+ stöder async/await inbyggt: let (data, response) = try await URLSession.shared.data(for: request). Detta ersätter completion handler-closures med linjär kod. Använd Task { } för att anropa från synkrona sammanhang. För samtidiga anrop, använd async let eller TaskGroup. För liknande mönster, se curl till Dart.
Hur ställer man in timeouts i Swift URLSession?
Konfigurera på URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (per anrop) och config.timeoutIntervalForResource = 300 (totalt). Eller ställ in request.timeoutInterval = 30 på enskilda anrop. Dessa motsvarar curls alternativ --max-time och --connect-timeout.
Hur använder man en proxy med URLSession?
Ställ in proxy på URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. För SOCKS-proxies, använd kCFStreamPropertySOCKSProxy-nycklar. URLSession respekterar även systemövergripande proxyinställningar konfigurerade i macOS/iOS-inställningar.
Hur skickar man en POST förfrågan med JSON body i Swift?
Konvertera ett curl POST kommando som curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL till Swift med curl2code. Den genererade koden använder request.httpBody = try JSONEncoder().encode(data). curl2code detekterar automatiskt -d/--data flaggor med JSON innehåll och ställer in rätt Content-Type header i URLSession kod.
Hur lägger man till Bearer token auktorisering i Swift?
Skicka curl -H "Authorization: Bearer YOUR_TOKEN" URL till curl2code så genereras URLSession kod med auth header: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code detekterar Bearer tokens från både -H "Authorization: Bearer ..." och --oauth2-bearer flaggor. För Basic auth, använd -u user:pass.
Hur ställer man in Content-Type header i Swift?
curl2code konverterar curl -H "Content-Type: application/json" URL till URLSession kod med rätt header: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). För -d data använder curl som standard application/x-www-form-urlencoded; för -F formuläruppladdningar används multipart/form-data. curl2code mappar varje del till rätt URLSession API.