Prevod curl do Objective-C

Preveďte curl príkazy na Objective-C kód pomocou NSURLSession. curl2code beží úplne vo vašom prehliadači cez WebAssembly — vaše údaje zostávajú v súkromí. Pre Swift vyskúšajte náš prevodník curl do Swiftu. Pre C si pozrite curl do C. Nižšie sú Objective-C príklady pripravené na použitie.

Ako skopírovať curl z vášho prehliadača

  1. 1

    Otvorte DevTools

    Stlačte F12 alebo Ctrl+Shift+I na otvorenie vývojárskych nástrojov prehliadača.

  2. 2

    Prejdite na kartu Network

    Kliknite na kartu Network a vykonajte akciu, ktorá spustí HTTP požiadavku.

  3. 3

    Skopírovať ako cURL

    Kliknite pravým tlačidlom na požiadavku → CopyCopy as cURL. Potom ju prilepte vyššie.

Často kladené otázky

Čo je NSURLSession?

NSURLSession je API frameworku Foundation od Apple pre sieťovú komunikáciu cez HTTP v Objective-C (a Swifte). Zvláda dátové úlohy, sťahovanie, nahrávanie a prenosy na pozadí. Dostupné na iOS 7+, macOS 10.9+. Nie sú potrebné žiadne závislosti tretích strán — je to štandardný spôsob vytvárania HTTP požiadaviek na platformách Apple. curl2code generuje kód NSURLSession pre Objective-C.

NSURLSession vs AFNetworking — čo použiť?

NSURLSession je vstavané riešenie — postačuje pre väčšinu potrieb a má nulové závislosti. AFNetworking bol historicky populárny, ale teraz je v režime údržby; jeho nástupcom je Alamofire (Swift). Pre nové projekty v Objective-C sa odporúča NSURLSession. Pre Swift si pozrite náš konvertor curl do Swiftu.

Ako riešiť autentifikáciu v Objective-C?

Nastavte hlavičku v NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Pre Basic auth zakódujte prihlasovacie údaje pomocou NSData a base64EncodedStringWithOptions:. curl2code konvertuje prepínače -u a Bearer na správnu syntax Objective-C.

Ako posielať multipart form data v Objective-C?

Zostavte multipart telo pomocou NSMutableData: pridajte boundary reťazce, dáta polí a dáta súborov so správnymi CRLF oddeľovačmi. Nastavte Content-Type s boundary. Je to manuálne, ale poskytuje plnú kontrolu. AFNetworking to zjednodušuje pomocou AFHTTPRequestSerializer.

Ako riešiť HTTP chyby v Objective-C?

Completion handlery NSURLSession poskytujú parameter NSError — skontrolujte ho na sieťové/transportné chyby. Pretypujte odpoveď na NSHTTPURLResponse a skontrolujte statusCode. Použite delegátske metódy NSURLSession pre detailnejšie spracovanie chýb vrátane autentifikačných výziev a presmerovaní.

Ako pracovať s completion blokmi v NSURLSession?

NSURLSession používa spätné volania založené na blokoch: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Vždy zavolajte [task resume] na spustenie. Pre sekvenčné požiadavky vnorte bloky alebo použite dispatch groups s dispatch_group_notify.

Ako nastaviť timeouty v Objective-C?

Nastavte v NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 a config.timeoutIntervalForResource = 300. Alebo pre každú požiadavku: request.timeoutInterval = 30. Chyby timeoutu prichádzajú ako NSURLErrorTimedOut v parametri error. Tieto sa mapujú na voľbu curl --max-time.

Ako používať proxy s NSURLSession?

Nastavte connectionProxyDictionary v NSURLSessionConfiguration s kľúčmi ako (NSString *)kCFNetworkProxiesHTTPProxy a portom. NSURLSession predvolene rešpektuje systémové nastavenia proxy v macOS a iOS. Pre PAC súbory konfigurujte cez systémové nastavenia.

Ako poslať POST požiadavku s JSON telom v jazyku Objective-C?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL do jazyka Objective-C pomocou curl2code. Vygenerovaný kód používa [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre NSURLSession.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku Objective-C?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre NSURLSession s autorizačnou hlavičkou: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. curl2code deteguje Bearer tokeny z prepínačov -H "Authorization: Bearer ..." aj --oauth2-bearer. Pre Basic auth použite -u user:pass.

Ako nastaviť hlavičku Content-Type v jazyku Objective-C?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre NSURLSession so správnou hlavičkou: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. Pre dáta v -d curl predvolene používa application/x-www-form-urlencoded; pre nahrávanie formulárov cez -F používa multipart/form-data. curl2code mapuje každý z nich na správne API pre NSURLSession.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov