Estoy tratando de obtener imágenes de un servidor remoto usando file_get_contents
. Una URL a una imagen puede contener espacios y/o caracteres especiales como ý, á, í, etc. y cuando lo hace, la operación falla con un código HTTP 400 - Solicitud incorrecta. Si trato de codificar la URL (o segmentos de esa URL), usando urlencode
o rawurlencode
, obtengo un 404.file_get_contents - caracteres especiales en URL
Cuando la URL de la imagen no contiene espacios ni caracteres especiales, se descarga sin problemas.
Tengo la corazonada de que esto tiene algo que ver con la codificación, pero no puedo entenderlo. ¿Hay una opción de codificación que me falta? ¿Hay un encabezado que se debe establecer para la solicitud?
http://stackoverflow.com/questions/2236668/file-get-contents-breaks-up-utf-8-characters –
alickus: Eso no es en realidad un duplicado, la pregunta que enlazó es sobre UTF-8 en el contenido de la respuesta, no en la URL. – Kaivosukeltaja
Abre esa imagen en tu navegador. Vea cómo el navegador codifica la URL. Luego vea la salida de 'echo urlencode ($ url);' y encuentre las diferencias – galymzhan