Convertir curl en Objective-C

Convertissez des commandes curl en code Objective-C à l'aide de NSURLSession. curl2code s'exécute entièrement dans votre navigateur via WebAssembly — vos données restent privées. Pour Swift, essayez notre convertisseur curl vers Swift. Pour C, voir curl vers C. Vous trouverez ci-dessous des exemples Objective-C prêts à l'emploi.

Comment copier curl depuis votre navigateur

  1. 1

    Ouvrir les DevTools

    Appuyez sur F12 ou Ctrl+Shift+I pour ouvrir les outils de développement de votre navigateur.

  2. 2

    Aller dans l'onglet Network

    Cliquez sur l'onglet Network et effectuez l'action qui déclenche la requête HTTP.

  3. 3

    Copier comme cURL

    Faites un clic droit sur la requête → CopyCopy as cURL. Collez-la ensuite ci-dessus.

Foire Aux Questions

Qu'est-ce que NSURLSession ?

NSURLSession est l'API du framework Foundation d'Apple pour le réseau HTTP en Objective-C (et Swift). Elle gère les tâches de données, les téléchargements, les téléversements et les transferts en arrière-plan. Disponible sur iOS 7+, macOS 10.9+. Aucune dépendance tierce n'est nécessaire — c'est la manière standard de faire des requêtes HTTP sur les plateformes Apple. curl2code génère du code NSURLSession pour Objective-C.

NSURLSession vs AFNetworking — lequel utiliser ?

NSURLSession est la solution intégrée — suffisante pour la plupart des besoins et sans dépendances. AFNetworking était historiquement populaire mais est maintenant en mode maintenance ; son successeur est Alamofire (Swift). Pour les nouveaux projets Objective-C, NSURLSession est recommandé. Pour Swift, consultez notre convertisseur curl vers Swift.

Comment gérer l'authentification en Objective-C ?

Définissez l'en-tête sur NSMutableURLRequest : [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Pour l'authentification Basic, encodez les identifiants avec NSData et base64EncodedStringWithOptions:. curl2code convertit les drapeaux -u et Bearer vers la syntaxe Objective-C correcte.

Comment envoyer des données de formulaire multipart en Objective-C ?

Construisez le corps multipart avec NSMutableData : ajoutez les chaînes de délimitation, les données de champ et les données de fichier avec les séparateurs CRLF appropriés. Définissez le Content-Type avec la délimitation. C'est manuel mais cela donne un contrôle total. AFNetworking simplifie cela avec AFHTTPRequestSerializer.

Comment gérer les erreurs HTTP en Objective-C ?

Les gestionnaires de complétion NSURLSession fournissent un paramètre NSError — vérifiez-le pour les erreurs réseau/transport. Castez la réponse en NSHTTPURLResponse et vérifiez le statusCode. Utilisez les méthodes de délégué NSURLSession pour une gestion plus granulaire des erreurs, y compris les défis d'authentification et les redirections.

Comment travailler avec les blocs de complétion dans NSURLSession ?

NSURLSession utilise des rappels basés sur des blocs : [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Appelez toujours [task resume] pour démarrer. Pour les requêtes séquentielles, imbriquez les blocs ou utilisez des groupes de dispatch avec dispatch_group_notify.

Comment définir des délais d'expiration en Objective-C ?

Définissez sur NSURLSessionConfiguration : config.timeoutIntervalForRequest = 30 et config.timeoutIntervalForResource = 300. Ou par requête : request.timeoutInterval = 30. Les erreurs de délai d'expiration arrivent sous forme de NSURLErrorTimedOut dans le paramètre d'erreur. Ceux-ci correspondent à l'option --max-time de curl.

Comment utiliser un proxy avec NSURLSession ?

Définissez connectionProxyDictionary sur NSURLSessionConfiguration avec des clés comme (NSString *)kCFNetworkProxiesHTTPProxy et le port. NSURLSession respecte par défaut les paramètres de proxy du système sur macOS et iOS. Pour les fichiers PAC, configurez via les préférences système.

Comment envoyer une requête POST avec un corps JSON en Objective-C ?

Convertissez une commande curl POST comme curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL en Objective-C en utilisant curl2code. Le code généré utilise [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. 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 NSURLSession.

Comment ajouter une autorisation par jeton Bearer en Objective-C ?

Passez curl -H "Authorization: Bearer YOUR_TOKEN" URL à curl2code et il générera le code NSURLSession avec l'en-tête d'authentification : [request setValue:@"Bearer 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 Objective-C ?

curl2code convertit curl -H "Content-Type: application/json" URL en code NSURLSession 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 NSURLSession correcte.

Liens utiles

Guides curl

Convertir curl vers d'autres langages