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. 1

    Apri DevTools

    Premi F12 o Ctrl+Shift+I per aprire gli strumenti per sviluppatori del browser.

  2. 2

    Vai alla scheda Network

    Fai clic sulla scheda Network ed esegui l'azione che attiva la richiesta HTTP.

  3. 3

    Copia come cURL

    Fai clic con il tasto destro sulla richiesta → CopiaCopia 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.

Link utili

Guide curl

Converti curl in altri linguaggi