curl konvertálása Swift nyelvre
Konvertálja a curl parancsokat Swift kóddá az URLSession használatával. A curl2code teljes egészében a böngészőben fut WebAssembly segítségével — az adatai privátak maradnak. Kotlin (Android) fejlesztéshez próbálja ki a curl to Kotlin konverterünket. Objective-C esetén lásd: curl to Objective-C. Alább azonnal használható Swift példákat talál.
Hogyan másoljuk ki a curl parancsot a böngészőből
- 1
Nyissa meg a DevTools-t
Nyomja meg az F12 billentyűt vagy a Ctrl+Shift+I a böngésző fejlesztői eszközeinek megnyitásához.
- 2
Lépjen a Network fülre
Kattintson a Network fülre, és hajtsa végre a HTTP kérést kiváltó műveletet.
- 3
Másolás cURL-ként
Kattintson a jobb gombbal a kérésre → Copy → Copy as cURL. Ezután illessze be fent.
Gyakran Ismételt Kérdések
Mi az a Swift URLSession?
Az URLSession az Apple beépített HTTP kliense iOS, macOS, watchOS és tvOS rendszerekhez. Kezeli az adatfeladatokat, letöltéseket, feltöltéseket, WebSocketet és a háttérben történő átviteleket. Nincs szükség csomagtelepítésre — a Foundation része. Támogatja a HTTP/2-t, a gyorsítótárazást és a sütikezelést. A curl2code URLSession kódot generál minden Swift konverzióhoz.
URLSession vs Alamofire — melyiket használjam?
Az URLSession beépített és a legtöbb igényt kielégíti — használd a harmadik féltől származó függőségek elkerülése érdekében. Az Alamofire kényelmi funkciókat ad hozzá: láncolható kérésépítőket, automatikus újrapróbálkozást, válaszvalidációt és multipart feltöltéseket. Kis projektekhez az URLSession elegendő. Hasonló beépített megoldásokért lásd a curl to Kotlin konvertáló vagy curl to Objective-C eszközeinket.
Hogyan kezelhető a hitelesítés Swiftben?
Állítsd be a fejlécet az URLRequest objektumon: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Basic auth esetén kódold a Data("\(user):\(pass)".utf8).base64EncodedString() használatával. A curl2code automatikusan Swift kódra konvertálja a -u és a Bearer fejléc flageket.
Hogyan küldhetők multipart form adatok Swiftben?
A multipart törzset manuálisan kell felépíteni: generálj egy boundary karakterláncot, fűzz hozzá minden mezőt/fájlt CRLF elválasztókkal, és állítsd be a Content-Type: multipart/form-data; boundary=... fejlécet. Egyszerűbb multipart kezeléshez használd az Alamofire upload(multipartFormData:) metódusát. A curl2code kezeli a -F flag konverzióját URLSession-höz.
Hogyan kezelhetők a HTTP hibák Swiftben?
Az URLSession egy opcionális Error objektumot ad vissza a completion handlerben — ellenőrizd, hogy nil-e. Alakítsd a választ HTTPURLResponse típussá és ellenőrizd a statusCode értéket. Az async/await (iOS 15+) használatával a try await URLSession.shared.data(for: request) hívást tedd egy do/catch blokkba a tiszta hibakezelés érdekében.
Hogyan használható az async/await az URLSession-nel?
A Swift 5.5+ natívan támogatja az async/await-et: let (data, response) = try await URLSession.shared.data(for: request). Ez kiváltja a completion handler closure-öket lineáris kóddal. Használd a Task { } blokkot szinkron környezetből való híváshoz. Párhuzamos kérésekhez használd az async let vagy TaskGroup megoldást. Hasonló mintákért lásd: curl to Dart.
Hogyan állítható be időtúllépés a Swift URLSession-ben?
Konfiguráld az URLSessionConfiguration objektumon: config.timeoutIntervalForRequest = 30 (kérésenkénti) és config.timeoutIntervalForResource = 300 (teljes). Vagy állítsd be a request.timeoutInterval = 30 értéket egyedi kéréseken. Ezek a curl --max-time és --connect-timeout opcióinak felelnek meg.
Hogyan használható proxy az URLSession-nel?
Állítsd be a proxyt az URLSessionConfiguration-ben: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. SOCKS proxykhoz használd a kCFStreamPropertySOCKSProxy kulcsokat. Az URLSession tiszteletben tartja a macOS/iOS beállításaiban konfigurált rendszerszintű proxy beállításokat is.
Hogyan küldhető POST kérés JSON törzzsel Swift nyelven?
Konvertáljon egy olyan curl POST parancsot, mint a curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL, Swift kódra a curl2code segítségével. A generált kód a request.httpBody = try JSONEncoder().encode(data) megoldást használja. A curl2code automatikusan felismeri a JSON tartalmú -d/--data flageket, és beállítja a megfelelő Content-Type fejlécet a URLSession kódban.
Hogyan adható hozzá Bearer token hitelesítés Swift nyelven?
Adja át a curl -H "Authorization: Bearer YOUR_TOKEN" URL parancsot a curl2code eszköznek, és az legenerálja a URLSession kódot az auth fejléccel: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). A curl2code felismeri a Bearer tokeneket a -H "Authorization: Bearer ..." és a --oauth2-bearer flagekből is. Basic auth esetén használja a -u user:pass kapcsolót.
Hogyan állítható be a Content-Type fejléc Swift nyelven?
A curl2code a curl -H "Content-Type: application/json" URL parancsot a megfelelő fejléccel ellátott URLSession kódra konvertálja: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). A -d adatoknál a curl alapértelmezés szerint az application/x-www-form-urlencoded értéket használja; a -F űrlapfeltöltéseknél pedig a multipart/form-data értéket. A curl2code mindegyiket a megfelelő URLSession API-hoz rendeli.
Hasznos linkek
curl útmutatók
curl hibakódok
Keress rá bármely curl kilépési kódra — okok, javítások és hibakeresési tippek.
Fájlok letöltése curl segítségével
Fájlok mentése -o és -O kapcsolókkal, átirányítások követése, letöltés folytatása és egyebek.
SSL, TLS és proxy
Tanúsítványok, TLS verziók, HTTP/SOCKS proxyk és egyéni DNS beállítása.