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. 1

    Öppna DevTools

    Tryck på F12 eller Ctrl+Shift+I för att öppna webbläsarens utvecklarverktyg.

  2. 2

    Gå till fliken Network

    Klicka på fliken Network och utför åtgärden som utlöser HTTP-begäran.

  3. 3

    Kopiera som cURL

    Högerklicka på begäran → CopyCopy 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.

Användbara länkar

curl-guider

Konvertera curl till andra språk