Capturando la dirección redirigida de NSURLConnection

Estoy trabajando en un software que sigue la redirección HTTP que el servidor calcula dinámicamente en función de un parámetro p. No quiero mostrar el servidor principal en Mobile Safari, sino solo la dirección redirigida. El siguiente código funciona:

    request = [NSMutableURLRequest requestWithURL:originalUrl cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    // Extract the redirected URL
target = [response URL];

El problema es que el servidor necesita varios segundos para responder. La sendSynchronousRequest bloquea la aplicación por completo durante este tiempo, lo cual es complicado, ni siquiera puedo mostrar la animación "Ocupado".

¿Alguien sabe cómo puedo recuperar la dirección redirigida de forma asincrónica sin apariencia de safari mientras tanto con la URL del servidor de redireccionamiento o mostrar algún tipo de animación "Ten paciencia" durante el sendSynchronousRequest? ¿Qué desventajas tendría el fallecimiento de sendSynchronousRequest en otro hilo?

preguntado el 08 de enero de 11 a las 23:01

1 Respuestas

Utilice el comportamiento asincrónico proporcionado por NSURLConnection y proporcionar la conexión con un delegado que implementa -conexión: willSendRequest: redirectResponse:

Entonces ve a leer Cinco razones por las que las redes síncronas son malas

Respondido el 09 de enero de 11 a las 03:01

Gracias, esto es exactamente lo que hice. Después de jugar un poco con los recuentos de referencias, lo hice funcionar: Vic

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.