Převést curl do Objective-C

Převeďte curl příkazy na kód v Objective-C pomocí NSURLSession. curl2code běží zcela ve vašem prohlížeči přes WebAssembly — vaše data zůstávají v soukromí. Pro Swift zkuste náš převodník curl do Swiftu. Pro C viz curl do C. Níže jsou příklady v Objective-C připravené k použití.

Jak zkopírovat curl z prohlížeče

  1. 1

    Otevřete DevTools

    Stiskněte F12 nebo Ctrl+Shift+I pro otevření vývojářských nástrojů prohlížeče.

  2. 2

    Přejděte na kartu Network

    Klikněte na kartu Network a proveďte akci, která vyvolá HTTP požadavek.

  3. 3

    Zkopírovat jako cURL

    Klikněte pravým tlačítkem na požadavek → CopyCopy as cURL. Poté jej vložte výše.

Často kladené dotazy

Co je NSURLSession?

NSURLSession je API frameworku Foundation od Applu pro HTTP síťování v Objective-C (a Swiftu). Zpracovává datové úlohy, stahování, nahrávání a přenosy na pozadí. Dostupné na iOS 7+, macOS 10.9+. Nejsou potřeba žádné závislosti třetích stran — je to standardní způsob provádění HTTP požadavků na platformách Apple. curl2code generuje kód NSURLSession pro Objective-C.

NSURLSession vs AFNetworking — co použít?

NSURLSession je vestavěné řešení — stačí pro většinu potřeb a má nulové závislosti. AFNetworking byl historicky populární, ale nyní je v režimu údržby; jeho nástupcem je Alamofire (Swift). Pro nové projekty v Objective-C se doporučuje NSURLSession. Pro Swift viz náš převodník curl do Swiftu.

Jak řešit autentizaci v Objective-C?

Nastavte hlavičku v NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Pro Basic auth zakódujte přihlašovací údaje pomocí NSData a base64EncodedStringWithOptions:. curl2code převádí přepínače -u a Bearer na správnou syntaxi Objective-C.

Jak poslat multipart form data v Objective-C?

Sestavte tělo multipart pomocí NSMutableData: připojte boundary řetězce, data polí a data souborů se správnými oddělovači CRLF. Nastavte Content-Type s danou boundary. Je to manuální proces, ale dává plnou kontrolu. AFNetworking toto zjednodušuje pomocí AFHTTPRequestSerializer.

Jak řešit chyby HTTP v Objective-C?

Completion handlery NSURLSession poskytují parametr NSError — zkontrolujte jej na chyby sítě/přenosu. Přetypujte odpověď na NSHTTPURLResponse a zkontrolujte statusCode. Použijte delegátské metody NSURLSession pro jemnější zpracování chyb, včetně autentizačních výzev a přesměrování.

Jak pracovat s completion bloky v NSURLSession?

NSURLSession používá callbacky založené na blocích: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Pro spuštění vždy zavolejte [task resume]. Pro sekvenční požadavky vnořujte bloky nebo použijte dispatch groups s dispatch_group_notify.

Jak nastavit timeouty v Objective-C?

Nastavte v NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 a config.timeoutIntervalForResource = 300. Nebo pro jednotlivý požadavek: request.timeoutInterval = 30. Chyby timeoutu přicházejí jako NSURLErrorTimedOut v parametru error. Tyto odpovídají volbě --max-time v curl.

Jak používat proxy s NSURLSession?

Nastavte connectionProxyDictionary v NSURLSessionConfiguration s klíči jako (NSString *)kCFNetworkProxiesHTTPProxy a portem. NSURLSession ve výchozím nastavení respektuje systémové nastavení proxy na macOS a iOS. Pro PAC soubory konfigurujte přes systémové předvolby.

Jak odeslat POST požadavek s JSON tělem v Objective-C?

Převeďte curl POST příkaz jako curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL do Objective-C pomocí curl2code. Vygenerovaný kód používá [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code automaticky detekuje -d/--data přepínače s JSON obsahem a nastaví odpovídající Content-Type hlavičku v kódu pro NSURLSession.

Jak přidat autorizaci pomocí Bearer tokenu v Objective-C?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pro NSURLSession s autorizační hlavičkou: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. curl2code detekuje Bearer tokeny z přepínačů -H "Authorization: Bearer ..." i --oauth2-bearer. Pro Basic auth použijte -u user:pass.

Jak nastavit hlavičku Content-Type v Objective-C?

curl2code převede curl -H "Content-Type: application/json" URL na kód pro NSURLSession se správnou hlavičkou: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. Pro data u -d curl standardně používá application/x-www-form-urlencoded; pro nahrávání formulářů přes -F používá multipart/form-data. curl2code mapuje každý z nich na správné NSURLSession API.

Užitečné odkazy

Průvodci curl

Převést curl do jiných jazyků