Converti curl in Objective-C
Converti i comandi curl in codice Objective-C utilizzando NSURLSession. curl2code viene eseguito interamente nel tuo browser tramite WebAssembly — i tuoi dati rimangono privati. Per Swift, prova il nostro convertitore da curl a Swift. Per C, vedi da curl a C. Di seguito sono riportati esempi Objective-C 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'è NSURLSession?
NSURLSession è l'API del framework Foundation di Apple per il networking HTTP in Objective-C (e Swift). Gestisce data task, download, upload e trasferimenti in background. Disponibile su iOS 7+, macOS 10.9+. Nessuna dipendenza di terze parti necessaria: è il modo standard per effettuare richieste HTTP sulle piattaforme Apple. curl2code genera codice NSURLSession per Objective-C.
NSURLSession vs AFNetworking — quale usare?
NSURLSession è la soluzione integrata — sufficiente per la maggior parte delle esigenze e senza dipendenze. AFNetworking era storicamente popolare ma è ora in modalità manutenzione; il suo successore è Alamofire (Swift). Per nuovi progetti Objective-C, si consiglia NSURLSession. Per Swift, vedi il nostro convertitore da curl a Swift.
Come gestire l'autenticazione in Objective-C?
Imposta l'header su NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Per l'autenticazione Basic, codifica le credenziali con NSData e base64EncodedStringWithOptions:. curl2code converte i flag -u e Bearer nella corretta sintassi Objective-C.
Come inviare dati form multipart in Objective-C?
Costruisci il corpo multipart con NSMutableData: aggiungi stringhe di boundary, dati dei campi e dati dei file con i corretti separatori CRLF. Imposta Content-Type con il boundary. Questo è un processo manuale ma offre il pieno controllo. AFNetworking semplifica questo con AFHTTPRequestSerializer.
Come gestire gli errori HTTP in Objective-C?
I completion handler di NSURLSession forniscono un parametro NSError — controllalo per errori di rete/trasporto. Esegui il cast della risposta a NSHTTPURLResponse e controlla lo statusCode. Usa i metodi delegati di NSURLSession per una gestione degli errori più granulare, inclusi reindirizzamenti e sfide di autenticazione.
Come lavorare con i blocchi di completamento in NSURLSession?
NSURLSession usa callback basate su blocchi: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Chiama sempre [task resume] per iniziare. Per richieste sequenziali, annida i blocchi o usa i dispatch group con dispatch_group_notify.
Come impostare i timeout in Objective-C?
Imposta su NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 e config.timeoutIntervalForResource = 300. Oppure per richiesta: request.timeoutInterval = 30. Gli errori di timeout arrivano come NSURLErrorTimedOut nel parametro error. Questi corrispondono all'opzione --max-time di curl.
Come usare un proxy con NSURLSession?
Imposta connectionProxyDictionary su NSURLSessionConfiguration con chiavi come (NSString *)kCFNetworkProxiesHTTPProxy e la porta. NSURLSession rispetta le impostazioni proxy di sistema per impostazione predefinita su macOS e iOS. Per i file PAC, configurali tramite le preferenze di sistema.
Come inviare una richiesta POST con un corpo JSON in Objective-C?
Converti un comando curl POST come curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL in Objective-C usando curl2code. Il codice generato utilizza [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code rileva automaticamente i flag -d/--data con contenuto JSON e imposta l'intestazione Content-Type appropriata nel codice NSURLSession.
Come aggiungere l''autorizzazione con Bearer token in Objective-C?
Passa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code e genererà il codice NSURLSession con l'intestazione di autenticazione: [request setValue:@"Bearer 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 Objective-C?
curl2code converte curl -H "Content-Type: application/json" URL in codice NSURLSession 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 NSURLSession.