cURL vers Swift

Collez une commande curl et obtenez du code Swift qui fait la même requête avec URLSession.

cURL vers Swift analyse votre commande dans le navigateur. Jetons et identifiants ne quittent pas votre appareil.

Essayer le client d’API

À propos de cURL vers Swift

La documentation d’API parle curl et les applications iOS parlent URLSession : traduire à la main est un travail répétitif qui invite aux petites erreurs — un en-tête oublié, un corps laissé en chaîne alors qu’il devrait être du JSON, une option d’authentification silencieusement ignorée. Ce convertisseur analyse la commande curl comme curl lui-même, y compris les options qui changent la méthode ou replient les identifiants dans un en-tête, et produit du Swift qui n’utilise que Foundation. Un corps JSON devient un dictionnaire Swift passé à JSONSerialization plutôt qu’une chaîne opaque.

Fonctionnalités

Comment utiliser cURL vers Swift

  1. Collez la commande curl, avec ses options et son corps
  2. Lisez le Swift généré à droite
  3. Vérifiez les avertissements sur les options non traduisibles
  4. Copiez le code ou téléchargez-le en .swift

Exemple

Entrée

curl https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'

Sortie

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

La méthode se déduit du corps, exactement comme curl la déduirait.

Erreurs courantes et dépannage

Foire aux questions

Le Swift produit fonctionne-t-il sur iOS, macOS et Linux ?
Oui. Il emploie URLSession de Foundation, disponible sur les plateformes Apple et dans swift-corelibs-foundation sous Linux, le même fichier compile donc côté serveur.
Puis-je obtenir du code async/await plutôt qu’un bloc de complétion ?
La forme produite utilise une data task avec bloc, qui fonctionne partout. La remplacer par `let (data, response) = try await URLSession.shared.data(for: request)` tient en une ligne.
Comment un corps JSON est-il traité ?
Il est analysé puis rendu en dictionnaire [String: Any], avant d’être encodé par JSONSerialization. La charge utile reste lisible et modifiable sans toucher à une chaîne échappée.
Qu’advient-il des cookies d’une option -b ?
Ils deviennent un en-tête Cookie. Notez qu’URLSession possède son propre stockage de cookies, susceptible d’ajouter ou de remplacer sans configuration contraire.
Ma commande curl est-elle téléversée lors de la conversion vers Swift ?
Non. La commande est analysée et le code produit dans votre navigateur, ce qui compte car les commandes curl de documentation contiennent souvent de vraies clés d’API.

Outils associés

Tous les outils ArrayKit