Konwertuj curl na Swift

Konwertuj polecenia curl na kod Swift przy użyciu URLSession. curl2code działa w całości w przeglądarce poprzez WebAssembly — Twoje dane pozostają prywatne. Do programowania w Kotlin (Android) wypróbuj nasz konwerter curl na Kotlin. W przypadku Objective-C, zobacz curl na Objective-C. Poniżej znajdują się gotowe do użycia przykłady w Swift.

Jak skopiować polecenie curl z przeglądarki

  1. 1

    Otwórz DevTools

    Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.

  2. 2

    Przejdź do karty Sieć

    Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.

  3. 3

    Kopiuj jako cURL

    Kliknij żądanie prawym przyciskiem myszy → KopiujKopiuj jako cURL. Następnie wklej je powyżej.

Najczęściej zadawane pytania

Czym jest Swift URLSession?

URLSession to wbudowany klient HTTP firmy Apple dla systemów iOS, macOS, watchOS i tvOS. Obsługuje zadania danych, pobieranie, przesyłanie, WebSocket oraz transfery w tle. Nie wymaga instalacji pakietów — jest częścią Foundation. Wspiera HTTP/2, buforowanie i zarządzanie plikami cookie. curl2code generuje kod URLSession dla wszystkich konwersji Swift.

URLSession vs Alamofire — którego powinienem użyć?

URLSession jest wbudowany i zaspokaja większość potrzeb — używaj go, aby uniknąć zależności zewnętrznych. Alamofire dodaje wygodę: łańcuchowe budowanie żądań, automatyczne ponawianie prób, walidację odpowiedzi i przesyłanie multipart. W małych projektach URLSession jest wystarczający. Podobne wbudowane podejścia znajdziesz w naszym konwerterze curl na Kotlin lub curl na Objective-C.

Jak obsługiwać uwierzytelnianie w Swift?

Ustaw nagłówek w URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Dla uwierzytelniania Basic użyj kodowania Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code automatycznie konwertuje flagi -u oraz nagłówki Bearer na kod Swift.

Jak wysyłać dane formularza multipart w Swift?

Skonstruuj ciało multipart ręcznie: wygeneruj ciąg boundary, dołącz każde pole/plik z separatorami CRLF i ustaw Content-Type: multipart/form-data; boundary=.... Dla łatwiejszego przesyłania multipart użyj upload(multipartFormData:) z Alamofire. curl2code obsługuje konwersję flagi -F dla URLSession.

Jak obsługiwać błędy HTTP w Swift?

URLSession zwraca opcjonalny Error w blokach completion — sprawdź, czy nie jest równy nil. Rzutuj odpowiedź na HTTPURLResponse i sprawdź statusCode. Przy użyciu async/await (iOS 15+), użyj try await URLSession.shared.data(for: request) w bloku do/catch dla czystej obsługi błędów.

Jak używać async/await z URLSession?

Swift 5.5+ natywnie wspiera async/await: let (data, response) = try await URLSession.shared.data(for: request). Zastępuje to domknięcia completion handler liniowym kodem. Użyj Task { }, aby wywołać go z kontekstów synchronicznych. Dla żądań współbieżnych użyj async let lub TaskGroup. Podobne wzorce znajdziesz w curl na Dart.

Jak ustawić limity czasu (timeouts) w Swift URLSession?

Skonfiguruj w URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (na żądanie) i config.timeoutIntervalForResource = 300 (całkowity). Możesz też ustawić request.timeoutInterval = 30 dla pojedynczych żądań. Odpowiada to opcjom --max-time i --connect-timeout w curl.

Jak używać proxy z URLSession?

Ustaw proxy w URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Dla proxy SOCKS użyj kluczy kCFStreamPropertySOCKSProxy. URLSession respektuje również systemowe ustawienia proxy skonfigurowane w ustawieniach macOS/iOS.

Jak wysłać żądanie POST z ciałem JSON w języku Swift?

Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL na kod Swift za pomocą curl2code. Wygenerowany kod używa request.httpBody = try JSONEncoder().encode(data). curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie URLSession.

Jak dodać autoryzację Bearer token w języku Swift?

Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod URLSession z nagłówkiem autoryzacji: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.

Jak ustawić nagłówek Content-Type w języku Swift?

curl2code konwertuje curl -H "Content-Type: application/json" URL na kod URLSession z właściwym nagłówkiem: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API URLSession.

Przydatne linki

Poradniki curl

Konwertuj curl na inne języki