Converti curl in Swift

Converti i comandi curl in codice Swift utilizzando URLSession. curl2code viene eseguito interamente nel tuo browser tramite WebAssembly — i tuoi dati rimangono privati. Per Kotlin (Android), prova il nostro convertitore da curl a Kotlin. Per Objective-C, vedi da curl a Objective-C. Di seguito sono riportati esempi Swift pronti all'uso.

Come copiare curl dal tuo browser

  1. 1

    Apri DevTools

    Premi F12 o Ctrl+Shift+I per aprire gli strumenti per sviluppatori del browser.

  2. 2

    Vai alla scheda Network

    Fai clic sulla scheda Network ed esegui l'azione che attiva la richiesta HTTP.

  3. 3

    Copia come cURL

    Fai clic con il tasto destro sulla richiesta → CopiaCopia come cURL. Quindi incollalo sopra.

Domande Frequenti

Cos'è Swift URLSession?

URLSession è il client HTTP integrato di Apple per iOS, macOS, watchOS e tvOS. Gestisce data task, download, upload, WebSocket e trasferimenti in background. Non è necessaria l'installazione di pacchetti: fa parte di Foundation. Supporta HTTP/2, caching e gestione dei cookie. curl2code genera codice URLSession per tutte le conversioni Swift.

URLSession vs Alamofire — quale dovrei usare?

URLSession è integrato e copre la maggior parte delle esigenze — usalo per evitare dipendenze di terze parti. Alamofire aggiunge praticità: builder di richieste concatenabili, retry automatico, validazione della risposta e caricamenti multipart. Per piccoli progetti, URLSession è sufficiente. Per approcci integrati simili, vedi il nostro convertitore da curl a Kotlin o curl a Objective-C.

Come gestire l'autenticazione in Swift?

Imposta l'header su URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Per l'autenticazione Basic, codifica con Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code converte automaticamente i flag -u e l'header Bearer in codice Swift.

Come inviare dati form multipart in Swift?

Costruisci il corpo multipart manualmente: genera una stringa di boundary, aggiungi ogni campo/file con separatori CRLF e imposta Content-Type: multipart/form-data; boundary=.... Per un multipart più semplice, usa upload(multipartFormData:) di Alamofire. curl2code gestisce la conversione del flag -F per URLSession.

Come gestire gli errori HTTP in Swift?

URLSession restituisce un Error opzionale nelle completion — controlla se è nil. Esegui il cast della risposta a HTTPURLResponse e controlla lo statusCode. Con async/await (iOS 15+), usa try await URLSession.shared.data(for: request) in un blocco do/catch per una gestione pulita degli errori.

Come usare async/await con URLSession?

Swift 5.5+ supporta async/await nativamente: let (data, response) = try await URLSession.shared.data(for: request). Questo sostituisce le closure del completion handler con codice lineare. Usa Task { } per chiamare da contesti sincroni. Per richieste concorrenti, usa async let o TaskGroup. Per pattern simili, vedi curl a Dart.

Come impostare i timeout in Swift URLSession?

Configura su URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (per richiesta) e config.timeoutIntervalForResource = 300 (totale). Oppure imposta request.timeoutInterval = 30 sulle singole richieste. Questi corrispondono alle opzioni --max-time e --connect-timeout di curl.

Come usare un proxy con URLSession?

Imposta il proxy su URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Per i proxy SOCKS, usa le chiavi kCFStreamPropertySOCKSProxy. URLSession rispetta anche le impostazioni proxy di sistema configurate in macOS/iOS.

Come inviare una richiesta POST con un corpo JSON in Swift?

Converti un comando curl POST come curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL in Swift usando curl2code. Il codice generato utilizza request.httpBody = try JSONEncoder().encode(data). curl2code rileva automaticamente i flag -d/--data con contenuto JSON e imposta l'intestazione Content-Type appropriata nel codice URLSession.

Come aggiungere l''autorizzazione con Bearer token in Swift?

Passa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code e genererà il codice URLSession con l'intestazione di autenticazione: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code rileva i Bearer token sia dai flag -H "Authorization: Bearer ..." che --oauth2-bearer. Per la Basic auth, usa -u user:pass.

Come impostare l''intestazione Content-Type in Swift?

curl2code converte curl -H "Content-Type: application/json" URL in codice URLSession con l'intestazione corretta: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Per i dati -d, curl utilizza come predefinito application/x-www-form-urlencoded; per i caricamenti di moduli -F, utilizza multipart/form-data. curl2code mappa ciascuno alla corretta API di URLSession.

Link utili

Guide curl

Converti curl in altri linguaggi