Me estoy acercando al desarrollo de iOS y me gustaría tener una de mis primeras aplicaciones para realizar una solicitud HTTP POST.
Hasta donde puedo entender, debo administrar la conexión que maneja la solicitud a través de un NSURLConnection
objeto, lo que me obliga a tener un objeto delegado, que a su vez manejará eventos de datos.
¿Podría alguien aclarar la tarea con un ejemplo práctico?
Debería contactar a un punto final https enviando datos de autenticación (nombre de usuario y contraseña) y obteniendo una respuesta de texto sin formato.
fuente
didReceiveAuthenticationChallenge
. ¿Hay algún problema de seguridad con las contraseñas / nombres de usuario de codificación rígida? ¿Hay alguna forma de evitar esto?EDITAR: ASIHTTPRequest ha sido abandonado por el desarrollador. Sigue siendo realmente una buena OMI, pero probablemente deberías buscar en otro lado ahora.
Recomiendo encarecidamente utilizar la biblioteca ASIHTTPRequest si está manejando HTTPS. Incluso sin https, proporciona un envoltorio realmente agradable para cosas como esta y, aunque no es difícil hacerlo por http simple, creo que la biblioteca es agradable y una excelente manera de comenzar.
Las complicaciones HTTPS están lejos de ser triviales en varios escenarios, y si desea ser robusto en el manejo de todas las variaciones, encontrará que la biblioteca ASI es una verdadera ayuda.
fuente
Pensé que actualizaría esta publicación un poco y diría que gran parte de la comunidad de iOS se mudó a AFNetworking después de que
ASIHTTPRequest
fue abandonada. Lo recomiendo altamente. Es un excelente contenedorNSURLConnection
y permite llamadas asincrónicas, y básicamente cualquier cosa que pueda necesitar.fuente
Aquí hay una respuesta actualizada para iOS7 +. Utiliza NSURLSession, el nuevo atractivo. Descargo de responsabilidad, esto no se ha probado y se escribió en un campo de texto:
O mejor aún, use AFNetworking 2.0+. Por lo general, subclase AFHTTPSessionManager, pero pongo todo esto en un método para tener un ejemplo conciso.
Si está utilizando el serializador de respuestas JSON, el responseObject será objeto de la respuesta JSON (a menudo NSDictionary o NSArray).
fuente
NOTA: Ejemplo de Pure Swift 3 (Xcode 8): Pruebe el siguiente código de muestra. Es el simple ejemplo de
dataTask
función deURLSession
.fuente
Xcode 8 y Swift 3.0
Usando URLSession:
Llamada de delegado de URLSession:
Usando el bloque GET / POST / PUT / DELETE:
Funciona bien para mí ... pruébalo 100% de garantía de resultados
fuente
Así es como funciona la solicitud POST HTTP para iOS 8+ usando NSURLSession:
Espero que esto satisfaga su siguiente requisito.
fuente