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