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
Apri DevTools
Premi F12 o Ctrl+Shift+I per aprire gli strumenti per sviluppatori del browser.
- 2
Vai alla scheda Network
Fai clic sulla scheda Network ed esegui l'azione che attiva la richiesta HTTP.
- 3
Copia come cURL
Fai clic con il tasto destro sulla richiesta → Copia → Copia 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.