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
Avaa kehittäjätyökalut
Paina F12 tai Ctrl+Shift+I avataksesi selaimen kehittäjätyökalut.
- 2
Siirry Network-välilehdelle
Napsauta Network-välilehteä ja suorita toiminto, joka käynnistää HTTP-pyynnön.
- 3
Kopioi cURL-muodossa
Napsauta pyyntöä hiiren kakkospainikkeella → Copy → Copy 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
curl-virhekoodit
Hae mikä tahansa curl-paluukoodi — syyt, korjaukset ja virheenkorjausvinkit.
Tiedostojen lataaminen curlilla
Tallenna tiedostoja -o, -O -lipuilla, seuraa uudelleenohjauksia, jatka latauksia ja paljon muuta.
SSL, TLS ja välityspalvelin
Määritä varmenteet, TLS-versiot, HTTP/SOCKS-välityspalvelimet ja mukautettu DNS.