Muunna curl kielelle Objective-C

Muunna curl-komennot Objective-C-koodiksi käyttäen NSURLSession-rajapintaa. curl2code toimii kokonaan selaimessasi WebAssemblyn kautta — tietosi pysyvät yksityisinä. Swiftille, kokeile curl to Swift -muunnintamme. C-kielelle, katso curl to C. Alta löydät käyttövalmiita Objective-C-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 NSURLSession?

NSURLSession on Applen Foundation-kehyksen API HTTP-verkkoliikenteeseen Objective-C:ssä (ja Swiftissä). Se käsittelee datatehtävät, lataukset, lähetykset ja taustasiirrot. Saatavilla iOS 7+ ja macOS 10.9+ versioissa. Kolmannen osapuolen riippuvuuksia ei tarvita — se on standardi tapa tehdä HTTP-pyyntöjä Applen alustoilla. curl2code generoi NSURLSession-koodia Objective-C:lle.

NSURLSession vs AFNetworking — kumpaa käyttää?

NSURLSession on sisäänrakennettu ratkaisu — riittävä useimpiin tarpeisiin ilman riippuvuuksia. AFNetworking oli historiallisesti suosittu, mutta on nykyään ylläpitotilassa; sen seuraaja on Alamofire (Swift). Uusiin Objective-C-projekteihin suositellaan NSURLSessionia. Swiftiä varten katso curl to Swift -muuntimemme.

Miten autentikointi hoidetaan Objective-C:ssä?

Aseta otsake NSMutableURLRequest-olioon: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Basic-autentikointia varten koodaa tiedot NSData- ja base64EncodedStringWithOptions: -metodeilla. curl2code muuntaa -u ja Bearer-liput oikeaksi Objective-C-syntaksiksi.

Miten lähetetään multipart-lomakedataa Objective-C:ssä?

Rakenna multipart-runko NSMutableData-oliolla: lisää boundary-merkkijonot, kenttädata ja tiedostodata asianmukaisilla CRLF-erottimilla. Aseta Content-Type boundary-tiedon kanssa. Tämä on manuaalista, mutta antaa täyden hallinnan. AFNetworking yksinkertaistaa tätä AFHTTPRequestSerializer-luokalla.

Miten HTTP-virheet hoidetaan Objective-C:ssä?

NSURLSessionin takaisinkutsut tarjoavat NSError-parametrin — tarkista se verkko- ja siirtovirheiden varalta. Muunna vastaus NSHTTPURLResponse-tyyppiin ja tarkista statusCode. Käytä NSURLSessionin delegaattimetodeja tarkempaan virheidenkäsittelyyn, mukaan lukien autentikointihaasteet ja uudelleenohjaukset.

Miten lohko-takaisinkutsuja (blocks) käytetään NSURLSessionissa?

NSURLSession käyttää lohkopohjaisia takaisinkutsuja: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Kutsu aina [task resume] aloittaaksesi. Peräkkäisiä pyyntöjä varten sisällytä lohkoja toisiinsa tai käytä dispatch-ryhmiä dispatch_group_notify-metodin kanssa.

Miten aikakatkaisut asetetaan Objective-C:ssä?

Määritä NSURLSessionConfiguration-oliossa: config.timeoutIntervalForRequest = 30 ja config.timeoutIntervalForResource = 300. Tai pyyntökohtaisesti: request.timeoutInterval = 30. Aikakatkaisuvirheet tulevat NSURLErrorTimedOut-koodilla error-parametrissa. Nämä vastaavat curlin --max-time -valintaa.

Miten välityspalvelinta käytetään NSURLSessionin kanssa?

Aseta connectionProxyDictionary NSURLSessionConfiguration-olioon käyttäen avaimia kuten (NSString *)kCFNetworkProxiesHTTPProxy ja porttia. NSURLSession noudattaa oletuksena järjestelmänlaajuisia välityspalvelinasetuksia macOS:ssä ja iOS:ssä. PAC-tiedostoja varten konfiguroi asetukset järjestelmäasetusten kautta.

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

Muunna curl POST -komento kuten curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL Objective-C-koodiksi curl2code-työkalulla. Luotu koodi käyttää [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code tunnistaa automaattisesti -d/--data-liput JSON-sisällöllä ja asettaa oikean Content-Type-otsikon NSURLSession-koodiin.

Miten lisätään Bearer-token-valtuutus Objective-C-kielellä?

Syötä curl -H "Authorization: Bearer YOUR_TOKEN" URL curl2code-työkaluun, ja se luo NSURLSession-koodin valtuutusotsikolla: [request setValue:@"Bearer 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 Objective-C-kielellä?

curl2code muuntaa curl -H "Content-Type: application/json" URL NSURLSession-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 NSURLSession API -kutsuun.

Hyödyllisiä linkkejä

curl-oppaat

Muunna curl muille kielille