curl을 Objective-C(으)로 변환
NSURLSession을 사용하여 curl 명령을 Objective-C 코드로 변환하세요. curl2code는 WebAssembly를 통해 브라우저에서 완전히 실행되므로 데이터가 비공개로 유지됩니다. Swift의 경우 curl to Swift 변환기를 사용해 보세요. C의 경우 curl to C를 참조하세요. 아래는 바로 사용 가능한 Objective-C 예제입니다.
브라우저에서 curl을 복사하는 방법
- 1
DevTools 열기
F12 또는 Ctrl+Shift+I를 눌러 브라우저 개발자 도구를 엽니다.
- 2
Network 탭으로 이동
Network 탭을 클릭하고 HTTP 요청을 트리거하는 동작을 수행합니다.
- 3
cURL로 복사
요청을 마우스 오른쪽 버튼으로 클릭 → Copy → Copy as cURL을 선택합니다. 그런 다음 위에 붙여넣으세요.
자주 묻는 질문 (FAQ)
NSURLSession이란 무엇인가요?
NSURLSession은 Objective-C(및 Swift)에서 HTTP 네트워킹을 위한 Apple의 Foundation 프레임워크 API입니다. 데이터 작업, 다운로드, 업로드 및 백그라운드 전송을 처리합니다. iOS 7+, macOS 10.9+에서 사용 가능합니다. 서드파티 의존성이 필요 없는 Apple 플랫폼의 표준 HTTP 요청 방식입니다. curl2code는 Objective-C용 NSURLSession 코드를 생성합니다.
NSURLSession과 AFNetworking 중 어떤 것을 사용해야 하나요?
NSURLSession은 내장 솔루션으로 대부분의 요구 사항에 충분하며 의존성이 없습니다. AFNetworking은 과거에 인기가 많았으나 현재는 유지 관리 모드이며, 후속작은 Alamofire(Swift)입니다. 새로운 Objective-C 프로젝트에는 NSURLSession을 권장합니다. Swift의 경우 curl to Swift 변환기를 참조하세요.
Objective-C에서 인증을 처리하는 방법은 무엇인가요?
NSMutableURLRequest에 헤더를 설정합니다: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Basic 인증의 경우 NSData 및 base64EncodedStringWithOptions:를 사용하여 자격 증명을 인코딩합니다. curl2code는 -u 및 Bearer 플래그를 올바른 Objective-C 구문으로 변환합니다.
Objective-C에서 멀티파트 폼 데이터를 보내는 방법은 무엇인가요?
NSMutableData로 멀티파트 바디를 구성합니다: 경계 문자열, 필드 데이터 및 파일 데이터를 적절한 CRLF 구분 기호와 함께 추가합니다. 경계와 함께 Content-Type을 설정합니다. 수동 작업이지만 완전한 제어가 가능합니다. AFNetworking은 AFHTTPRequestSerializer로 이를 단순화합니다.
Objective-C에서 HTTP 오류를 처리하는 방법은 무엇인가요?
NSURLSession 완료 핸들러는 NSError 파라미터를 제공하므로 네트워크/전송 오류를 확인하세요. 응답을 NSHTTPURLResponse로 캐스팅하고 statusCode를 확인합니다. 인증 챌린지 및 리다이렉트를 포함하여 더 세밀한 오류 처리를 위해 NSURLSession 델리게이트 메서드를 사용하세요.
NSURLSession에서 완료 블록을 사용하는 방법은 무엇인가요?
NSURLSession은 블록 기반 콜백을 사용합니다: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. 시작하려면 항상 [task resume]을 호출하세요. 순차적 요청의 경우 블록을 중첩하거나 dispatch_group_notify와 함께 디스패치 그룹을 사용하세요.
Objective-C에서 타임아웃을 설정하는 방법은 무엇인가요?
NSURLSessionConfiguration에서 설정합니다: config.timeoutIntervalForRequest = 30 및 config.timeoutIntervalForResource = 300. 또는 요청별로 request.timeoutInterval = 30을 설정합니다. 타임아웃 오류는 오류 파라미터에 NSURLErrorTimedOut으로 전달됩니다. 이는 curl의 --max-time 옵션에 매핑됩니다.
NSURLSession에서 프록시를 사용하는 방법은 무엇인가요?
connectionProxyDictionary의 NSURLSessionConfiguration에 (NSString *)kCFNetworkProxiesHTTPProxy 및 포트와 같은 키를 설정합니다. NSURLSession은 기본적으로 macOS 및 iOS의 시스템 전체 프록시 설정을 따릅니다. PAC 파일의 경우 시스템 환경설정을 통해 구성하세요.
Objective-C에서 JSON 바디를 포함한 POST 요청을 보내는 방법은 무엇인가요?
curl2code를 사용하여 curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL과 같은 curl POST 명령어를 Objective-C로 변환하세요. 생성된 코드는 [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]를 사용합니다. curl2code는 JSON 콘텐츠가 포함된 -d/--data 플래그를 자동으로 감지하고 NSURLSession 코드에 적절한 Content-Type 헤더를 설정합니다.
Objective-C에서 Bearer 토큰 인증을 추가하는 방법은 무엇인가요?
curl -H "Authorization: Bearer YOUR_TOKEN" URL을 curl2code에 입력하면 [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]와 같은 인증 헤더가 포함된 NSURLSession 코드가 생성됩니다. curl2code는 -H "Authorization: Bearer ..." 및 --oauth2-bearer 플래그 모두에서 Bearer 토큰을 감지합니다. Basic auth의 경우 -u user:pass를 사용하세요.
Objective-C에서 Content-Type 헤더를 설정하는 방법은 무엇인가요?
curl2code는 curl -H "Content-Type: application/json" URL을 적절한 헤더가 포함된 NSURLSession 코드로 변환합니다: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. -d 데이터의 경우 curl은 기본적으로 application/x-www-form-urlencoded를 사용하며, -F 폼 업로드의 경우 multipart/form-data를 사용합니다. curl2code는 각각을 올바른 NSURLSession API에 매핑합니다.