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
Deschide DevTools
Apasă F12 sau Ctrl+Shift+I pentru a deschide instrumentele de dezvoltare ale browserului.
- 2
Mergi la fila Network
Fă clic pe fila Network și efectuează acțiunea care declanșează cererea HTTP.
- 3
Copiază ca cURL
Fă clic dreapta pe cerere → Copy → Copy 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
Coduri de eroare curl
Caută orice cod de ieșire curl — cauze, rezolvări și sfaturi de depanare.
Descărcarea fișierelor cu curl
Salvează fișiere cu -o, -O, urmează redirecționări, reia descărcări și multe altele.
SSL, TLS și proxy
Configurează certificate, versiuni TLS, proxy-uri HTTP/SOCKS și DNS personalizat.