Convertir curl en Swift
Convertissez des commandes curl en code Swift à l'aide de URLSession. curl2code s'exécute entièrement dans votre navigateur via WebAssembly — vos données restent privées. Pour Kotlin (Android), essayez notre convertisseur curl vers Kotlin. Pour Objective-C, voir curl vers Objective-C. Vous trouverez ci-dessous des exemples Swift prêts à l'emploi.
Comment copier curl depuis votre navigateur
- 1
Ouvrir les DevTools
Appuyez sur F12 ou Ctrl+Shift+I pour ouvrir les outils de développement de votre navigateur.
- 2
Aller dans l'onglet Network
Cliquez sur l'onglet Network et effectuez l'action qui déclenche la requête HTTP.
- 3
Copier comme cURL
Faites un clic droit sur la requête → Copy → Copy as cURL. Collez-la ensuite ci-dessus.
Foire Aux Questions
Qu'est-ce que Swift URLSession ?
URLSession est le client HTTP intégré d'Apple pour iOS, macOS, watchOS et tvOS. Il gère les tâches de données, les téléchargements, les téléversements, WebSocket et les transferts en arrière-plan. Aucune installation de package n'est nécessaire — il fait partie de Foundation. Il prend en charge HTTP/2, la mise en cache et la gestion des cookies. curl2code génère du code URLSession pour toutes les conversions Swift.
URLSession vs Alamofire — lequel devrais-je utiliser ?
URLSession est intégré et couvre la plupart des besoins — utilisez-le pour éviter les dépendances tierces. Alamofire ajoute de la commodité : constructeurs de requêtes chaînables, tentative automatique, validation de réponse et téléversements multipart. Pour les petits projets, URLSession est suffisant. Pour des approches intégrées similaires, consultez notre convertisseur curl vers Kotlin ou curl vers Objective-C.
Comment gérer l'authentification en Swift ?
Définissez l'en-tête sur URLRequest : request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Pour l'authentification Basic, encodez avec Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code convertit automatiquement les drapeaux -u et l'en-tête Bearer en code Swift.
Comment envoyer des données de formulaire multipart en Swift ?
Construisez le corps multipart manuellement : générez une chaîne de délimitation (boundary), ajoutez chaque champ/fichier avec des séparateurs CRLF, et définissez Content-Type: multipart/form-data; boundary=.... Pour un multipart plus simple, utilisez upload(multipartFormData:) d'Alamofire. curl2code gère la conversion du drapeau -F pour URLSession.
Comment gérer les erreurs HTTP en Swift ?
URLSession renvoie une Error optionnelle dans les complétions — vérifiez si elle est nulle. Castez la réponse en HTTPURLResponse et vérifiez le statusCode. Avec async/await (iOS 15+), utilisez try await URLSession.shared.data(for: request) dans un bloc do/catch pour une gestion propre des erreurs.
Comment utiliser async/await avec URLSession ?
Swift 5.5+ prend en charge nativement async/await : let (data, response) = try await URLSession.shared.data(for: request). Cela remplace les fermetures (closures) de gestionnaires de complétion par du code linéaire. Utilisez Task { } pour appeler depuis des contextes synchrones. Pour les requêtes concurrentes, utilisez async let ou TaskGroup. Pour des modèles similaires, voir curl vers Dart.
Comment définir des délais d'expiration (timeouts) dans Swift URLSession ?
Configurez sur URLSessionConfiguration : config.timeoutIntervalForRequest = 30 (par requête) et config.timeoutIntervalForResource = 300 (total). Ou définissez request.timeoutInterval = 30 sur des requêtes individuelles. Ceux-ci correspondent aux options --max-time et --connect-timeout de curl.
Comment utiliser un proxy avec URLSession ?
Définissez le proxy sur URLSessionConfiguration : config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Pour les proxys SOCKS, utilisez les clés kCFStreamPropertySOCKSProxy. URLSession respecte également les paramètres de proxy du système configurés dans les réglages macOS/iOS.
Comment envoyer une requête POST avec un corps JSON en Swift ?
Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL en Swift en utilisant curl2code. Le code généré utilise request.httpBody = try JSONEncoder().encode(data). curl2code détecte automatiquement les drapeaux -d/--data avec du contenu JSON et définit l'en-tête Content-Type approprié dans le code URLSession.
Comment ajouter une autorisation par jeton Bearer en Swift ?
Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code URLSession avec l'en-tête d'authentification : request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code détecte les jetons Bearer à partir des drapeaux -H "Authorization: Bearer ..." et --oauth2-bearer. Pour le Basic auth, utilisez -u user:pass.
Comment définir l''en-tête Content-Type en Swift ?
curl2code convertit curl -H "Content-Type: application/json" URL en code URLSession avec l'en-tête approprié : request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Pour les données -d, curl utilise par défaut application/x-www-form-urlencoded ; pour les téléchargements de formulaires -F, il utilise multipart/form-data. curl2code associe chacun à l'API URLSession correcte.
Liens utiles
Guides curl
Codes d'erreur curl
Recherchez n'importe quel code de sortie curl — causes, corrections et astuces de débogage.
Télécharger des fichiers avec curl
Enregistrez des fichiers avec -o, -O, suivez les redirections, reprenez les téléchargements et plus encore.
SSL, TLS et proxy
Configurez les certificats, les versions TLS, les proxys HTTP/SOCKS et le DNS personnalisé.