Convertește curl în Swift
Convertește comenzile curl în cod Swift folosind URLSession. curl2code rulează integral în browserul tău prin WebAssembly — datele tale rămân private. Pentru Kotlin (Android), încearcă convertorul nostru curl în Kotlin. Pentru Objective-C, vezi curl în Objective-C. Mai jos sunt exemple Swift gata de utilizat.
Cum să copiezi curl din browserul tău
- 1
Deschide DevTools
Apasă F12 sau Ctrl+Shift+I pentru a deschide instrumentele de dezvoltare ale browserului.
- 2
Mergi la fila Network
Fă clic pe fila Network și efectuează acțiunea care declanșează cererea HTTP.
- 3
Copiază ca cURL
Fă clic dreapta pe cerere → Copy → Copy as cURL. Apoi lipește-o mai sus.
Întrebări frecvente
Ce este Swift URLSession?
URLSession este clientul HTTP integrat de la Apple pentru iOS, macOS, watchOS și tvOS. Acesta gestionează sarcini de date, descărcări, încărcări, WebSocket și transferuri în fundal. Nu este necesară instalarea niciunui pachet — face parte din Foundation. Suportă HTTP/2, caching și gestionarea cookie-urilor. curl2code generează cod URLSession pentru toate conversiile Swift.
URLSession vs Alamofire — pe care ar trebui să îl folosesc?
URLSession este integrat și acoperă majoritatea nevoilor — folosiți-l pentru a evita dependențele de terțe părți. Alamofire adaugă confort: builderi de cereri înlănțuibili, reîncercare automată, validarea răspunsului și încărcări multipart. Pentru proiecte mici, URLSession este suficient. Pentru abordări integrate similare, consultați convertorul curl în Kotlin sau curl în Objective-C.
Cum se gestionează autentificarea în Swift?
Setați header-ul pe URLRequest: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Pentru autentificarea Basic, codați cu Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code convertește automat flag-urile -u și header-ul Bearer în cod Swift.
Cum se trimit date de tip multipart form în Swift?
Construiți corpul multipart manual: generați un șir boundary, adăugați fiecare câmp/fișier cu separatori CRLF și setați Content-Type: multipart/form-data; boundary=.... Pentru multipart mai simplu, folosiți upload(multipartFormData:) din Alamofire. curl2code gestionează conversia flag-ului -F pentru URLSession.
Cum se gestionează erorile HTTP în Swift?
URLSession returnează un Error opțional în completion handlers — verificați dacă este nil. Convertiți răspunsul la HTTPURLResponse și verificați statusCode. Cu async/await (iOS 15+), folosiți try await URLSession.shared.data(for: request) într-un bloc do/catch pentru o gestionare curată a erorilor.
Cum se folosește async/await cu URLSession?
Swift 5.5+ suportă async/await în mod nativ: let (data, response) = try await URLSession.shared.data(for: request). Aceasta înlocuiește closure-urile de tip completion handler cu cod liniar. Folosiți Task { } pentru a apela din contexte sincrone. Pentru cereri concurente, folosiți async let sau TaskGroup. Pentru modele similare, consultați curl to Dart.
Cum se setează timeout-urile în Swift URLSession?
Configurați pe URLSessionConfiguration: config.timeoutIntervalForRequest = 30 (per cerere) și config.timeoutIntervalForResource = 300 (total). Sau setați request.timeoutInterval = 30 pe cereri individuale. Acestea corespund opțiunilor curl --max-time și --connect-timeout.
Cum se folosește un proxy cu URLSession?
Setați proxy-ul pe URLSessionConfiguration: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. Pentru proxy-uri SOCKS, folosiți cheile kCFStreamPropertySOCKSProxy. URLSession respectă, de asemenea, setările proxy la nivel de sistem configurate în setările macOS/iOS.
Cum se trimite o cerere POST cu un corp JSON în Swift?
Convertește o comandă curl POST precum curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL în Swift folosind curl2code. Codul generat utilizează request.httpBody = try JSONEncoder().encode(data). curl2code detectează automat flag-urile -d/--data cu conținut JSON și setează antetul Content-Type corespunzător în codul URLSession.
Cum se adaugă autorizarea prin Bearer token în Swift?
Introdu curl -H "Authorization: Bearer YOUR_TOKEN" URL în curl2code și acesta va genera cod URLSession cu antetul de autentificare: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code detectează Bearer tokens atât din flag-urile -H "Authorization: Bearer ...", cât și din --oauth2-bearer. Pentru Basic auth, utilizează -u user:pass.
Cum se setează antetul Content-Type în Swift?
curl2code convertește curl -H "Content-Type: application/json" URL în cod URLSession cu antetul corect: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). Pentru datele -d, curl folosește implicit application/x-www-form-urlencoded; pentru încărcările de formulare -F, folosește multipart/form-data. curl2code mapează fiecare opțiune către API-ul URLSession corect.
Linkuri utile
Ghiduri curl
Coduri de eroare curl
Caută orice cod de ieșire curl — cauze, rezolvări și sfaturi de depanare.
Descărcarea fișierelor cu curl
Salvează fișiere cu -o, -O, urmează redirecționări, reia descărcări și multe altele.
SSL, TLS și proxy
Configurează certificate, versiuni TLS, proxy-uri HTTP/SOCKS și DNS personalizat.