Prevod curl do Swift

Preveďte curl príkazy na Swift kód pomocou URLSession. curl2code beží úplne vo vašom prehliadači cez WebAssembly — vaše údaje zostávajú v súkromí. Pre Kotlin (Android) vyskúšajte náš prevodník curl do Kotlinu. Pre Objective-C si pozrite curl do Objective-C. Nižšie sú Swift 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 Swift URLSession?

URLSession je vstavaný HTTP klient od Apple pre iOS, macOS, watchOS a tvOS. Zvláda dátové úlohy, sťahovanie, nahrávanie, WebSocket a prenosy na pozadí. Nie je potrebná žiadna inštalácia balíkov — je súčasťou Foundation. Podporuje HTTP/2, cachovanie a správu cookies. curl2code generuje kód URLSession pre všetky konverzie Swift.

URLSession vs Alamofire — čo by som mal použiť?

URLSession je vstavaný a pokrýva väčšinu potrieb — používajte ho, aby ste sa vyhli závislostiam tretích strán. Alamofire pridáva pohodlie: reťaziteľné buildery požiadaviek, automatické opakovanie, validáciu odpovedí a multipart nahrávanie. Pre malé projekty postačuje URLSession. Pre podobné vstavané prístupy si pozrite náš konvertor curl do Kotlinu alebo curl do Objective-C.

Ako riešiť autentifikáciu v Swifte?

Nastavte hlavičku v URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Pre Basic auth použite kódovanie pomocou Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code automaticky konvertuje prepínače -u a Bearer hlavičky do kódu Swift.

Ako posielať multipart form data v Swifte?

Zostavte multipart telo manuálne: vygenerujte boundary reťazec, pridajte každé pole/súbor s CRLF oddeľovačmi a nastavte Content-Type: multipart/form-data; boundary=.... Pre jednoduchší multipart použite upload(multipartFormData:) od Alamofire. curl2code zvláda konverziu prepínača -F pre URLSession.

Ako riešiť HTTP chyby v Swifte?

URLSession vracia voliteľnú Error v completion handlery — skontrolujte, či nie je nil. Pretypujte odpoveď na HTTPURLResponse a skontrolujte statusCode. S async/await (iOS 15+) použite try await URLSession.shared.data(for: request) v bloku do/catch pre čisté spracovanie chýb.

Ako používať async/await s URLSession?

Swift 5.5+ natívne podporuje async/await: let (data, response) = try await URLSession.shared.data(for: request). Toto nahrádza uzatvorené bloky completion handlerov lineárnym kódom. Použite Task { } na volanie zo synchrónnych kontextov. Pre súbežné požiadavky použite async let alebo TaskGroup. Pre podobné vzory si pozrite curl do Dartu.

Ako nastaviť timeouty v Swift URLSession?

Konfigurujte v URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (na požiadavku) a config.timeoutIntervalForResource = 300 (celkovo). Alebo nastavte request.timeoutInterval = 30 pre jednotlivé požiadavky. Tieto sa mapujú na voľby curl --max-time a --connect-timeout.

Ako používať proxy s URLSession?

Nastavte proxy v URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Pre SOCKS proxy použite kľúče kCFStreamPropertySOCKSProxy. URLSession tiež rešpektuje systémové nastavenia proxy nakonfigurované v nastaveniach macOS/iOS.

Ako poslať POST požiadavku s JSON telom v jazyku Swift?

Preveďte curl POST príkaz ako curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL do jazyka Swift pomocou curl2code. Vygenerovaný kód používa request.httpBody = try JSONEncoder().encode(data). curl2code automaticky deteguje prepínače -d/--data s JSON obsahom a nastaví príslušnú hlavičku Content-Type v kóde pre URLSession.

Ako pridať autorizáciu pomocou Bearer tokenu v jazyku Swift?

Vložte curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code a nástroj vygeneruje kód pre URLSession s autorizačnou hlavičkou: request.setValue("Bearer YOUR_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 Swift?

curl2code konvertuje curl -H "Content-Type: application/json" URL na kód pre URLSession 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 URLSession.

Užitočné odkazy

Príručky pre curl

Prevod curl do iných jazykov