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
Otwórz DevTools
Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.
- 2
Przejdź do karty Sieć
Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.
- 3
Kopiuj jako cURL
Kliknij żądanie prawym przyciskiem myszy → Kopiuj → Kopiuj 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
Kody błędów curl
Sprawdź dowolny kod wyjścia curl — przyczyny, rozwiązania i wskazówki debugowania.
Pobieranie plików za pomocą curl
Zapisuj pliki z -o, -O, podążaj za przekierowaniami, wznawiaj pobieranie i więcej.
SSL, TLS i proxy
Konfiguracja certyfikatów, wersji TLS, proxy HTTP/SOCKS i niestandardowego DNS.