Konwertuj curl na Objective-C
Konwertuj polecenia curl na kod Objective-C przy użyciu NSURLSession. curl2code działa w całości w przeglądarce poprzez WebAssembly — Twoje dane pozostają prywatne. Do programowania w Swift wypróbuj nasz konwerter curl na Swift. W przypadku C, zobacz curl na C. Poniżej znajdują się gotowe do użycia przykłady w Objective-C.
Jak skopiować polecenie curl z przeglądarki
- 1
Otwórz DevTools
Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.
- 2
Przejdź do karty Sieć
Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.
- 3
Kopiuj jako cURL
Kliknij żądanie prawym przyciskiem myszy → Kopiuj → Kopiuj jako cURL. Następnie wklej je powyżej.
Najczęściej zadawane pytania
Czym jest NSURLSession?
NSURLSession to API frameworku Foundation firmy Apple do komunikacji sieciowej HTTP w Objective-C (i Swift). Obsługuje zadania danych, pobieranie, przesyłanie i transfery w tle. Dostępne w iOS 7+, macOS 10.9+. Nie wymaga zewnętrznych zależności — to standardowy sposób wykonywania żądań HTTP na platformach Apple. curl2code generuje kod NSURLSession dla Objective-C.
NSURLSession vs AFNetworking — którego użyć?
NSURLSession to wbudowane rozwiązanie — wystarczające dla większości potrzeb i bez zależności. AFNetworking był historycznie popularny, ale obecnie znajduje się w trybie konserwacji; jego następcą jest Alamofire (Swift). Dla nowych projektów w Objective-C zalecany jest NSURLSession. Dla Swift zobacz nasz konwerter curl na Swift.
Jak obsługiwać uwierzytelnianie w Objective-C?
Ustaw nagłówek w NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Dla uwierzytelniania Basic zakoduj poświadczenia za pomocą NSData i base64EncodedStringWithOptions:. curl2code konwertuje flagi -u i Bearer na poprawną składnię Objective-C.
Jak wysyłać dane formularza multipart w Objective-C?
Skonstruuj ciało multipart za pomocą NSMutableData: dołącz ciągi boundary, dane pól i dane plików z odpowiednimi separatorami CRLF. Ustaw Content-Type z boundary. Jest to proces manualny, ale daje pełną kontrolę. AFNetworking upraszcza to dzięki AFHTTPRequestSerializer.
Jak obsługiwać błędy HTTP w Objective-C?
Handlery completion w NSURLSession dostarczają parametr NSError — sprawdź go pod kątem błędów sieci/transportu. Rzutuj odpowiedź na NSHTTPURLResponse i sprawdź statusCode. Użyj metod delegata NSURLSession dla bardziej szczegółowej obsługi błędów, w tym wyzwań uwierzytelniania i przekierowań.
Jak pracować z blokami completion w NSURLSession?
NSURLSession używa callbacków opartych na blokach: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Zawsze wywołuj [task resume], aby rozpocząć. Dla żądań sekwencyjnych zagnieżdżaj bloki lub używaj grup dyspaczowania z dispatch_group_notify.
Jak ustawić limity czasu w Objective-C?
Ustaw w NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 i config.timeoutIntervalForResource = 300. Lub na żądanie: request.timeoutInterval = 30. Błędy limitu czasu pojawiają się jako NSURLErrorTimedOut w parametrze error. Odpowiadają one opcji --max-time w curl.
Jak używać proxy z NSURLSession?
Ustaw connectionProxyDictionary w NSURLSessionConfiguration z kluczami takimi jak (NSString *)kCFNetworkProxiesHTTPProxy i portem. NSURLSession domyślnie respektuje systemowe ustawienia proxy w macOS i iOS. Dla plików PAC skonfiguruj je poprzez preferencje systemowe.
Jak wysłać żądanie POST z ciałem JSON w języku Objective-C?
Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL na kod Objective-C za pomocą curl2code. Wygenerowany kod używa [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie NSURLSession.
Jak dodać autoryzację Bearer token w języku Objective-C?
Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod NSURLSession z nagłówkiem autoryzacji: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.
Jak ustawić nagłówek Content-Type w języku Objective-C?
curl2code konwertuje curl -H "Content-Type: application/json" URL na kod NSURLSession z właściwym nagłówkiem: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API NSURLSession.
Przydatne linki
Poradniki curl
Kody błędów curl
Sprawdź dowolny kod wyjścia curl — przyczyny, rozwiązania i wskazówki debugowania.
Pobieranie plików za pomocą curl
Zapisuj pliki z -o, -O, podążaj za przekierowaniami, wznawiaj pobieranie i więcej.
SSL, TLS i proxy
Konfiguracja certyfikatów, wersji TLS, proxy HTTP/SOCKS i niestandardowego DNS.