Muunna curl kielelle Swift

Muunna curl-komennot Swift-koodiksi käyttäen URLSession-rajapintaa. curl2code toimii kokonaan selaimessasi WebAssemblyn kautta — tietosi pysyvät yksityisinä. Kotlinille (Android), kokeile curl to Kotlin -muunnintamme. Objective-C-kielelle, katso curl to Objective-C. Alta löydät käyttövalmiita Swift-esimerkkejä.

Kuinka kopioida curl selaimestasi

  1. 1

    Avaa kehittäjätyökalut

    Paina F12 tai Ctrl+Shift+I avataksesi selaimen kehittäjätyökalut.

  2. 2

    Siirry Network-välilehdelle

    Napsauta Network-välilehteä ja suorita toiminto, joka käynnistää HTTP-pyynnön.

  3. 3

    Kopioi cURL-muodossa

    Napsauta pyyntöä hiiren kakkospainikkeella → CopyCopy as cURL. Liitä se sitten yläpuolelle.

Usein kysytyt kysymykset

Mikä on Swift URLSession?

URLSession on Applen sisäänrakennettu HTTP-asiakas iOS-, macOS-, watchOS- ja tvOS-alustoille. Se käsittelee datatehtävät, lataukset, lähetykset, WebSocketit ja taustasiirrot. Pakettien asennusta ei tarvita — se on osa Foundation-kirjastoa. Tukee HTTP/2-protokollaa, välimuistia ja evästeiden hallintaa. curl2code generoi URLSession-koodia kaikille Swift-muunnoksille.

URLSession vs Alamofire — kumpaa minun pitäisi käyttää?

URLSession on sisäänrakennettu ja kattaa useimmat tarpeet — käytä sitä välttääksesi kolmannen osapuolen riippuvuuksia. Alamofire tuo mukavuutta: ketjutettavat pyynnönrakentajat, automaattinen uudelleenyritys, vastausten validointi ja multipart-lähetykset. Pienissä projekteissa URLSession on riittävä. Katso vastaavia sisäänrakennettuja lähestymistapoja curl to Kotlin -muuntimestamme tai curl to Objective-C -muuntimestamme.

Miten autentikointi hoidetaan Swiftissä?

Aseta otsake URLRequest-olioon: request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization"). Basic-autentikointia varten koodaa tiedot komennolla Data("\(user):\(pass)".utf8).base64EncodedString(). curl2code muuntaa -u ja Bearer-otsakeliput Swift-koodiksi automaattisesti.

Miten lähetetään multipart-lomakedataa Swiftissä?

Rakenna multipart-runko manuaalisesti: generoi boundary-merkkijono, lisää jokainen kenttä/tiedosto CRLF-erottimilla ja aseta Content-Type: multipart/form-data; boundary=.... Helpompaa multipart-käsittelyä varten käytä Alamofiren upload(multipartFormData:) -metodia. curl2code käsittelee -F-lipun muunnoksen URLSessionille.

Miten HTTP-virheet hoidetaan Swiftissä?

URLSession palauttaa valinnaisen Error-olion takaisinkutsuissa — tarkista onko se nil. Muunna vastaus HTTPURLResponse-tyyppiin ja tarkista statusCode. Käytettäessä async/await-mallia (iOS 15+), käytä try await URLSession.shared.data(for: request) do/catch-lohkossa selkeää virheen-käsittelyä varten.

Miten async/await-mallia käytetään URLSessionin kanssa?

Swift 5.5+ tukee async/await-mallia natiivisti: let (data, response) = try await URLSession.shared.data(for: request). Tämä korvaa takaisinkutsusulkeumat lineaarisella koodilla. Käytä Task { } kutsuaksesi synkronisista konteksteista. Rinnakkaisia pyyntöjä varten käytä async let tai TaskGroup -rakenteita. Katso vastaavia malleja kohdasta curl to Dart.

Miten aikakatkaisut asetetaan Swift URLSessionissa?

Määritä URLSessionConfiguration-oliossa: config.timeoutIntervalForRequest = 30 (pyyntökohtainen) ja config.timeoutIntervalForResource = 300 (kokonaisaika). Tai aseta request.timeoutInterval = 30 yksittäisille pyynnöille. Nämä vastaavat curlin --max-time ja --connect-timeout -valintoja.

Miten välityspalvelinta (proxy) käytetään URLSessionin kanssa?

Aseta välityspalvelin URLSessionConfiguration-olioon: config.connectionProxyDictionary = [kCFProxyHostNameKey: "proxy", kCFProxyPortNumberKey: 8080]. SOCKS-välityspalvelimia varten käytä kCFStreamPropertySOCKSProxy-avaimia. URLSession noudattaa myös macOS/iOS-asetuksissa määritettyjä järjestelmänlaajuisia välityspalvelinasetuksia.

Miten lähetetään POST-pyyntö JSON-rungolla Swift-kielellä?

Muunna curl POST -komento kuten curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL Swift-koodiksi curl2code-työkalulla. Luotu koodi käyttää request.httpBody = try JSONEncoder().encode(data). curl2code tunnistaa automaattisesti -d/--data-liput JSON-sisällöllä ja asettaa oikean Content-Type-otsikon URLSession-koodiin.

Miten lisätään Bearer-token-valtuutus Swift-kielellä?

Syötä curl -H "Authorization: Bearer YOUR_TOKEN" URL curl2code-työkaluun, ja se luo URLSession-koodin valtuutusotsikolla: request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization"). curl2code tunnistaa Bearer-tokenit sekä -H "Authorization: Bearer ..."- että --oauth2-bearer-lipuista. Käytä Basic auth -valtuutukseen -u user:pass.

Miten asetetaan Content-Type-otsikko Swift-kielellä?

curl2code muuntaa curl -H "Content-Type: application/json" URL URLSession-koodiksi oikealla otsikolla: request.setValue("application/json", forHTTPHeaderField: "Content-Type"). -d-datalle curl käyttää oletuksena application/x-www-form-urlencoded; -F-lomakelatauksille se käyttää multipart/form-data. curl2code yhdistää kunkin oikeaan URLSession API -kutsuun.

Hyödyllisiä linkkejä

curl-oppaat

Muunna curl muille kielille