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. 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. 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. 3

    Másolás cURL-ként

    Kattintson a jobb gombbal a kérésre → CopyCopy 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 konvertálása más nyelvekre