No se puede obtener la imagen de la URL mediante NSURLConnection sendSynchronousRequest
Frecuentes
Visto 505 veces
0
Tengo una URL especial que devuelve una imagen en un navegador. Me gustaría poner esta imagen especial en un objeto UIImage. Sin embargo, en mi ejemplo de código a continuación, parece que los datos devueltos no son una imagen.
El navegador parece conocer la imagen, ¿cómo puedo acceder a la imagen?
Sí, necesito obtener esta imagen a través del servidor proxy Proxify para resolver un problema que tenemos.
Aquí está el código de ejemplo.
-(UIImage*)retrieveMap
{
NSString* proxifiedGoogleMapURL = @"http://proxify.com/p/011010A1000100/687474703a2f2f6d6170732e676f6f676c652e636f6d2f6d6170732f6170692f7374617469636d61703f63656e7465723d34312e3031343130312c2d3130342e393738333333267a6f6f6d3d362673697a653d35303678353036267363616c653d32266d6170747970653d726f61647326666f726d61743d706e672673656e736f723d66616c7365";
NSURLRequest * firstRequest = [NSURLRequest requestWithURL:[NSURL URLWithString: proxifiedGoogleMapURL]];
NSURLResponse * firstResponse = nil;
NSError * firstError = nil;
NSData* firstData = [NSURLConnection sendSynchronousRequest:firstRequest returningResponse:&firstResponse error:&firstError];
UIImage* dataAsImage = [UIImage imageWithData:firstData];
if(firstError != nil || dataAsImage == nil)
{
NSLog(@"Failed in retrieving the map");
}
else
{
NSLog(@"Succeeded in retrieving the map");
}
return dataAsImage;
}
1 Respuestas
0
He detectado algunos problemas:
Deberías probar
firstError != nil
antes de intentar convertir a una UIImage. Probarlo después lo hace inútil.Intenté acceder a la URL que publicaste y recibí un error que dice que está disponible solo para los usuarios que iniciaron sesión. En el navegador podría funcionar para ti, ya que probablemente hayas iniciado sesión, pero el iPhone no lo está y obtienes ese HTML. de proxificar
Para ver la respuesta que obtiene, antes de crear la imagen, conviértala a NSString y muéstrela en la consola:
NSLog(@"Response from server: %@", [[NSString alloc] initWithData:firstData encoding:NSUTF8StringEncoding]
contestado el 04 de mayo de 12 a las 16:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas image url proxy nsurlconnection or haz tu propia pregunta.