ios objective-c json nsurlrequest

ios - URL no admitida en NSURLRequest



objective-c json (9)

Como se indicó anteriormente, un espacio en la URL puede causar esto, pero también es posible que su cadena contenga un carácter no compatible. Por ejemplo, si copia y pega una URL de un PDF, Word u otro documento, puede contener caracteres no compatibles. A los ojos se ve bien pero no el compilador.

Para solucionar esto, en su [NSURL URLWithString:@"http://blabhblabh"] , elimine toda la línea de código, no solo la url, y vuelva a escribir el enlace y el método a mano.

Si ejecuto esta solicitud desde mi terminal, puedo ver las solicitudes JSON normalmente:

curl -XGET 192.168.0.6:8888/scripts/data/backend2/index.php/name/_all

Mi código para el NSURlRequest es este:

NSURLRequest *request = [NSURLRequest requestWithURL: [NSURL URLWithString:@"192.168.0.6:8888/scripts/data/backend2/index.php/name/_all"]]; [[NSURLConnection alloc] initWithRequest:request delegate:self];

Y estoy recibiendo este error:

didFailWithError 2013-11-29 22:31:08.164 Ski Greece[607:a0b] Connection failed: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0xcd042d0 {NSErrorFailingURLStringKey=192.168.0.6:8888/scripts/data/backend2/index.php/name/_all, NSErrorFailingURLKey=192.168.0.6:8888/scripts/data/backend2/index.php/name/_all, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0xdbdcc70 "unsupported URL"}

¿Cómo puedo hacer la llamada a esa URL? No puedo acceder al código del servidor. Sé que solo estoy configurado para devolverme lo que necesito, si llamo a esa URL.


En mi caso lo arreglé con esto:

strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

strURL contiene la cadena con la URL.


En mi caso los espacios se agregan a mi URL. He eliminado espacios y corro. Asegúrese de no haber agregado ningún espacio en su URL, incluso cuando está pasando parámetros. Espero que ayude a alguien.


En mi caso, estaba pasando un opcional sin envolver en Swift. Una vez que desenvolví la cadena opcional, la URL fue aceptada correctamente.


En mi caso, visito un servicio que se ejecuta en mi propio Mac, por lo que mi url es 127.0.0.1:8080/list

Después agrego un esquema http: //. ¡Funciona!

Ahora es http://127.0.0.1:8080/list lugar de 127.0.0.1:8080/list


La misma respuesta que Alf G pero con IOS 9+

strUrl = [strUrl stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLHostAllowedCharacterSet]


Parece que es una URL con formato incorrecto o no es una URL válida en absoluto, intente golpear esta URL en el navegador, creo que no obtendrá ningún resultado. código de error = -1002 se produce cuando la url no es compatible.


Trate de incluir un esquema de url apropiado para su url, por ejemplo

[NSURL URLWithString:@"http://www...


Yo también luché por el mismo error, a pesar de que la ruta url era correcta pero había un espacio en ella, antes de http, como a continuación:

NSString *path = @" http://www.mylink/"; NSURL *url = [NSURL URLWithString:path];

así que estaba obteniendo la url como nula y así estaba dando "URL no compatible". Luego quitando el espacio trabajado para mí.