Convertir curl a Objective-C

Convierta comandos curl a código Objective-C utilizando NSURLSession. curl2code se ejecuta completamente en su navegador a través de WebAssembly; sus datos permanecen privados. Para Swift, pruebe nuestro conversor de curl a Swift. Para C, vea curl a C. A continuación se muestran ejemplos de Objective-C listos para usar.

Cómo copiar curl desde su navegador

  1. 1

    Abrir DevTools

    Presione F12 o Ctrl+Shift+I para abrir las herramientas de desarrollo de su navegador.

  2. 2

    Vaya a la pestaña Network

    Haga clic en la pestaña Network y realice la acción que activa la solicitud HTTP.

  3. 3

    Copiar como cURL

    Haga clic derecho en la solicitud → CopyCopy as cURL. Luego péguelo arriba.

Preguntas frecuentes

¿Qué es NSURLSession?

NSURLSession es la API del framework Foundation de Apple para redes HTTP en Objective-C (y Swift). Maneja tareas de datos, descargas, subidas y transferencias en segundo plano. Disponible en iOS 7+, macOS 10.9+. No se necesitan dependencias de terceros — es la forma estándar de realizar solicitudes HTTP en las plataformas de Apple. curl2code genera código NSURLSession para Objective-C.

NSURLSession vs AFNetworking — ¿cuál usar?

NSURLSession es la solución integrada — suficiente para la mayoría de las necesidades y sin dependencias. AFNetworking fue popular históricamente pero ahora está en modo de mantenimiento; su sucesor es Alamofire (Swift). Para nuevos proyectos en Objective-C, se recomienda NSURLSession. Para Swift, consulta nuestro convertidor de curl a Swift.

¿Cómo manejar la autenticación en Objective-C?

Establece el encabezado en NSMutableURLRequest: [request setValue:@"Bearer token" forHTTPHeaderField:@"Authorization"]. Para autenticación Basic, codifica las credenciales con NSData y base64EncodedStringWithOptions:. curl2code convierte los flags -u y Bearer a la sintaxis correcta de Objective-C.

¿Cómo enviar datos de formulario multipart en Objective-C?

Construye el cuerpo multipart con NSMutableData: añade cadenas de límite (boundary), datos de campos y datos de archivos con los separadores CRLF adecuados. Establece el Content-Type con el límite. Esto es manual pero ofrece un control total. AFNetworking simplifica esto con AFHTTPRequestSerializer.

¿Cómo manejar errores HTTP en Objective-C?

Los manejadores de finalización de NSURLSession proporcionan un parámetro NSError — compruébalo para errores de red/transporte. Convierte la respuesta a NSHTTPURLResponse y comprueba el statusCode. Usa los métodos delegados de NSURLSession para un manejo de errores más granular, incluyendo desafíos de autenticación y redirecciones.

¿Cómo trabajar con bloques de finalización en NSURLSession?

NSURLSession utiliza callbacks basados en bloques: [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { ... }]. Llama siempre a [task resume] para comenzar. Para solicitudes secuenciales, anida los bloques o usa grupos de despacho con dispatch_group_notify.

¿Cómo establecer tiempos de espera en Objective-C?

Establécelo en NSURLSessionConfiguration: config.timeoutIntervalForRequest = 30 y config.timeoutIntervalForResource = 300. O por solicitud: request.timeoutInterval = 30. Los errores de tiempo de espera llegan como NSURLErrorTimedOut en el parámetro de error. Estos se mapean a la opción --max-time de curl.

¿Cómo usar un proxy con NSURLSession?

Establece connectionProxyDictionary en NSURLSessionConfiguration con claves como (NSString *)kCFNetworkProxiesHTTPProxy y el puerto. NSURLSession respeta la configuración de proxy de todo el sistema por defecto en macOS e iOS. Para archivos PAC, configúralo a través de las preferencias del sistema.

¿Cómo enviar una solicitud POST con un cuerpo JSON en Objective-C?

Convierte un comando curl POST como curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL a Objective-C usando curl2code. El código generado utiliza [request setHTTPBody:[NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]]. curl2code detecta automáticamente los flags -d/--data con contenido JSON y establece el encabezado Content-Type adecuado en el código de NSURLSession.

¿Cómo añadir autorización con token Bearer en Objective-C?

Pasa curl -H "Authorization: Bearer YOUR_TOKEN" URL a curl2code y este generará código de NSURLSession con el encabezado de autorización: [request setValue:@"Bearer TOKEN" forHTTPHeaderField:@"Authorization"]. curl2code detecta tokens Bearer tanto en los flags -H "Authorization: Bearer ..." como en --oauth2-bearer. Para Basic auth, utiliza -u user:pass.

¿Cómo configurar el encabezado Content-Type en Objective-C?

curl2code convierte curl -H "Content-Type: application/json" URL a código de NSURLSession con el encabezado correcto: [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]. Para los datos de -d, curl utiliza por defecto application/x-www-form-urlencoded; para subidas de formularios con -F, utiliza multipart/form-data. curl2code mapea cada uno a la API de NSURLSession correcta.

Enlaces útiles

Guías de curl

Convertir curl a otros lenguajes