Convertește curl în Objective-C

Convertește comenzile curl în cod Objective-C folosind NSURLSession. curl2code rulează integral în browserul tău prin WebAssembly — datele tale rămân private. Pentru Swift, încearcă convertorul nostru curl în Swift. Pentru C, vezi curl în C. Mai jos sunt exemple Objective-C gata de utilizat.

Cum să copiezi curl din browserul tău

  1. 1

    Deschide DevTools

    Apasă F12 sau Ctrl+Shift+I pentru a deschide instrumentele de dezvoltare ale browserului.

  2. 2

    Mergi la fila Network

    Fă clic pe fila Network și efectuează acțiunea care declanșează cererea HTTP.

  3. 3

    Copiază ca cURL

    Fă clic dreapta pe cerere → CopyCopy as cURL. Apoi lipește-o mai sus.

Întrebări frecvente

Ce este NSURLSession?

NSURLSession este API-ul framework-ului Foundation de la Apple pentru rețele HTTP în Objective-C (și Swift). Acesta gestionează sarcini de date, descărcări, încărcări și transferuri în fundal. Disponibil pe iOS 7+, macOS 10.9+. Nu este necesară nicio dependență de terță parte — este modul standard de a face cereri HTTP pe platformele Apple. curl2code generează cod NSURLSession pentru Objective-C.

NSURLSession vs AFNetworking — pe care să îl folosesc?

NSURLSession este soluția integrată — suficientă pentru majoritatea nevoilor și cu zero dependențe. AFNetworking a fost popular istoric, dar acum este în modul de întreținere; succesorul său este Alamofire (Swift). Pentru proiecte noi Objective-C, se recomandă NSURLSession. Pentru Swift, consultați convertorul curl în Swift.

Cum se gestionează autentificarea în Objective-C?

Setați header-ul pe NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Pentru autentificarea Basic, codați credențialele cu NSData și base64EncodedStringWithOptions:. curl2code convertește flag-urile -u și Bearer în sintaxa corectă Objective-C.

Cum se trimit date de tip multipart form în Objective-C?

Construiți corpul multipart cu NSMutableData: adăugați șiruri boundary, date de câmp și date de fișier cu separatori CRLF corespunzători. Setați Content-Type cu boundary-ul respectiv. Acest lucru este manual, dar oferă control total. AFNetworking simplifică acest lucru cu AFHTTPRequestSerializer.

Cum se gestionează erorile HTTP în Objective-C?

Completion handlers pentru NSURLSession oferă un parametru NSError — verificați-l pentru erori de rețea/transport. Convertiți răspunsul la NSHTTPURLResponse și verificați statusCode. Folosiți metodele delegate NSURLSession pentru o gestionare mai granulară a erorilor, inclusiv provocări de autentificare și redirecționări.

Cum se lucrează cu blocuri de tip completion în NSURLSession?

NSURLSession folosește callback-uri bazate pe blocuri: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Apelați întotdeauna [task resume] pentru a începe. Pentru cereri secvențiale, cuibăriți blocurile sau folosiți grupuri de dispatch cu dispatch_group_notify.

Cum se setează timeout-urile în Objective-C?

Setați pe NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 și config.timeoutIntervalForResource = 300. Sau per cerere: request.timeoutInterval = 30. Erorile de timeout sosesc ca NSURLErrorTimedOut în parametrul de eroare. Acestea corespund opțiunii curl --max-time.

Cum se folosește un proxy cu NSURLSession?

Setați connectionProxyDictionary pe NSURLSessionConfiguration cu chei precum (NSString *)kCFNetworkProxiesHTTPProxy și portul. NSURLSession respectă setările proxy la nivel de sistem în mod implicit pe macOS și iOS. Pentru fișiere PAC, configurați prin preferințele de sistem.

Cum se trimite o cerere POST cu un corp JSON în Objective-C?

Convertește o comandă curl POST precum curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL în Objective-C folosind curl2code. Codul generat utilizează [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code detectează automat flag-urile -d/--data cu conținut JSON și setează antetul Content-Type corespunzător în codul NSURLSession.

Cum se adaugă autorizarea prin Bearer token în Objective-C?

Introdu curl -H "Authorization: Bearer YOUR_TOKEN" URL în curl2code și acesta va genera cod NSURLSession cu antetul de autentificare: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. curl2code detectează Bearer tokens atât din flag-urile -H "Authorization: Bearer ...", cât și din --oauth2-bearer. Pentru Basic auth, utilizează -u user:pass.

Cum se setează antetul Content-Type în Objective-C?

curl2code convertește curl -H "Content-Type: application/json" URL în cod NSURLSession cu antetul corect: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. Pentru datele -d, curl folosește implicit application/x-www-form-urlencoded; pentru încărcările de formulare -F, folosește multipart/form-data. curl2code mapează fiecare opțiune către API-ul NSURLSession corect.

Linkuri utile

Ghiduri curl

Convertește curl în alte limbaje