curl konvertálása Objective-C nyelvre
Konvertálja a curl parancsokat Objective-C kóddá az NSURLSession 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. Swift esetén próbálja ki a curl to Swift konverterünket. C esetén lásd: curl to C. Alább azonnal használható Objective-C példákat talál.
Hogyan másoljuk ki a curl parancsot a böngészőből
- 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
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
Másolás cURL-ként
Kattintson a jobb gombbal a kérésre → Copy → Copy as cURL. Ezután illessze be fent.
Gyakran Ismételt Kérdések
Mi az az NSURLSession?
Az NSURLSession az Apple Foundation keretrendszerének API-ja a HTTP hálózatkezeléshez Objective-C (és Swift) nyelven. Kezeli az adatfeladatokat, letöltéseket, feltöltéseket és háttérben történő átviteleket. Elérhető iOS 7+ és macOS 10.9+ rendszereken. Nincs szükség harmadik féltől származó függőségre — ez a standard módja a HTTP kérések indításának Apple platformokon. A curl2code NSURLSession kódot generál Objective-C-hez.
NSURLSession vs AFNetworking — melyiket használjam?
Az NSURLSession a beépített megoldás — a legtöbb igényre elegendő és nulla függőséggel jár. Az AFNetworking korábban népszerű volt, de már karbantartási módban van; utódja az Alamofire (Swift). Új Objective-C projektekhez az NSURLSession ajánlott. Swift esetén lásd a curl to Swift konvertáló eszközünket.
Hogyan kezelhető a hitelesítés Objective-C-ben?
Állítsd be a fejlécet a NSMutableURLRequest objektumon: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Basic auth-hoz kódold a hitelesítő adatokat NSData és base64EncodedStringWithOptions: használatával. A curl2code a -u és Bearer flageket a helyes Objective-C szintaxisra konvertálja.
Hogyan küldhetők multipart form adatok Objective-C-ben?
Építsd fel a multipart törzset NSMutableData használatával: fűzd hozzá a boundary karakterláncokat, a mezőadatokat és a fájladatokat a megfelelő CRLF elválasztókkal. Állítsd be a Content-Type fejlécet a boundary-val. Ez manuális folyamat, de teljes kontrollt biztosít. Az AFNetworking ezt egyszerűsíti az AFHTTPRequestSerializer használatával.
Hogyan kezelhetők a HTTP hibák Objective-C-ben?
Az NSURLSession completion handler-ei egy NSError paramétert biztosítanak — ellenőrizd ezt hálózati/átviteli hibákra. Alakítsd a választ NSHTTPURLResponse típussá és ellenőrizd a statusCode értéket. Használd az NSURLSession delegate metódusait a részletesebb hibakezeléshez, beleértve a hitelesítési kihívásokat és az átirányításokat.
Hogyan dolgozzunk completion block-okkal az NSURLSession-ben?
Az NSURLSession block-alapú callback-eket használ: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Mindig hívd meg a [task resume] metódust az indításhoz. Egymás utáni kérésekhez ágyazd egymásba a block-okat vagy használj dispatch group-okat a dispatch_group_notify segítségével.
Hogyan állítható be időtúllépés Objective-C-ben?
Állítsd be az NSURLSessionConfiguration objektumon: config.timeoutIntervalForRequest = 30 és config.timeoutIntervalForResource = 300. Vagy kérésenként: request.timeoutInterval = 30. Az időtúllépési hibák NSURLErrorTimedOut kódként érkeznek az error paraméterben. Ezek a curl --max-time opciójának felelnek meg.
Hogyan használható proxy az NSURLSession-nel?
Állítsd be a connectionProxyDictionary-t az NSURLSessionConfiguration-ben olyan kulcsokkal, mint a (NSString *)kCFNetworkProxiesHTTPProxy és a port. Az NSURLSession alapértelmezés szerint tiszteletben tartja a rendszerszintű proxy beállításokat macOS és iOS rendszereken. PAC fájlok esetén a rendszerbeállításokon keresztül konfiguráld.
Hogyan küldhető POST kérés JSON törzzsel Objective-C nyelven?
Konvertáljon egy olyan curl POST parancsot, mint a curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL, Objective-C kódra a curl2code segítségével. A generált kód a [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]] 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 NSURLSession kódban.
Hogyan adható hozzá Bearer token hitelesítés Objective-C nyelven?
Adja át a curl -H "Authorization: Bearer YOUR_TOKEN" URL parancsot a curl2code eszköznek, és az legenerálja a NSURLSession kódot az auth fejléccel: [request setValue:@"Bearer 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 Objective-C nyelven?
A curl2code a curl -H "Content-Type: application/json" URL parancsot a megfelelő fejléccel ellátott NSURLSession 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ő NSURLSession API-hoz rendeli.
Hasznos linkek
curl útmutatók
curl hibakódok
Keress rá bármely curl kilépési kódra — okok, javítások és hibakeresési tippek.
Fájlok letöltése curl segítségével
Fájlok mentése -o és -O kapcsolókkal, átirányítások követése, letöltés folytatása és egyebek.
SSL, TLS és proxy
Tanúsítványok, TLS verziók, HTTP/SOCKS proxyk és egyéni DNS beállítása.