Převést curl do Swift

Převeďte curl příkazy na kód ve Swiftu pomocí URLSession. curl2code běží zcela ve vašem prohlížeči přes WebAssembly — vaše data zůstávají v soukromí. Pro Kotlin (Android) zkuste náš převodník curl do Kotlinu. Pro Objective-C viz curl do Objective-C. Níže jsou příklady ve Swiftu 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 Swift URLSession?

URLSession je vestavěný HTTP klient od Applu pro iOS, macOS, watchOS a tvOS. Zpracovává datové úlohy, stahování, nahrávání, WebSocket a přenosy na pozadí. Není nutná žádná instalace balíčků — je součástí Foundation. Podporuje HTTP/2, cachování a správu cookies. curl2code generuje kód URLSession pro všechny převody do Swiftu.

URLSession vs Alamofire — co mám použít?

URLSession je vestavěný a pokrývá většinu potřeb — použijte jej, abyste se vyhnuli závislostem třetích stran. Alamofire přidává pohodlí: řetězené tvůrce požadavků, automatické opakování, validaci odpovědí a multipart nahrávání. Pro malé projekty stačí URLSession. Pro podobné vestavěné přístupy se podívejte na náš převodník curl do Kotlinu nebo curl do Objective-C.

Jak řešit autentizaci ve Swiftu?

Nastavte hlavičku v URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Pro Basic auth použijte kódování Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code automaticky převádí přepínače -u a hlavičku Bearer do kódu Swift.

Jak poslat multipart form data ve Swiftu?

Sestavte tělo multipart ručně: vygenerujte boundary řetězec, připojte každé pole/soubor s oddělovači CRLF a nastavte Content-Type: multipart/form-data; boundary=.... Pro snazší multipart použijte upload(multipartFormData:) v Alamofire. curl2code řeší převod přepínače -F pro URLSession.

Jak řešit chyby HTTP ve Swiftu?

URLSession vrací volitelnou Error v completion handlerech — zkontrolujte, zda není nil. Přetypujte odpověď na HTTPURLResponse a zkontrolujte statusCode. S async/await (iOS 15+) použijte try await URLSession.shared.data(for: request) v bloku do/catch pro čisté zpracování chyb.

Jak používat async/await s URLSession?

Swift 5.5+ nativně podporuje async/await: let (data, response) = try await URLSession.shared.data(for: request). To nahrazuje uzávěry completion handlerů lineárním kódem. Použijte Task { } pro volání ze synchronních kontextů. Pro souběžné požadavky použijte async let nebo TaskGroup. Pro podobné vzory viz curl do Dartu.

Jak nastavit timeouty v Swift URLSession?

Konfigurujte v URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (na požadavek) a config.timeoutIntervalForResource = 300 (celkem). Nebo nastavte request.timeoutInterval = 30 u jednotlivých požadavků. Tyto hodnoty odpovídají volbám --max-time a --connect-timeout v curl.

Jak používat proxy s URLSession?

Nastavte proxy v URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Pro SOCKS proxy použijte klíče kCFStreamPropertySOCKSProxy. URLSession také respektuje systémové nastavení proxy nakonfigurované v nastavení macOS/iOS.

Jak odeslat POST požadavek s JSON tělem ve Swiftu?

Převeďte curl POST příkaz jako curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL do Swiftu pomocí curl2code. Vygenerovaný kód používá request.httpBody = try JSONEncoder().encode(data). 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 URLSession.

Jak přidat autorizaci pomocí Bearer tokenu ve Swiftu?

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

curl2code převede curl -H "Content-Type: application/json" URL na kód pro URLSession 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é URLSession API.

Užitečné odkazy

Průvodci curl

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