Hola a todos,
Antes de nada, como nuevo que soy en el foro, felicitaros por vuestro
trabajo y la creación de esta API tan útil.
Y ahora... al turrón ;) :
Probando vuestra API me he encontrado con el siguiente problema:
Hago dos llamadas vía código al servicio "search":
http://api.11870.com/api/v2/search?appToken=9ab1e4b74f6e03bc98844a7087668ce7&count=100&l=Barcelona&page=1&category=copas-pubs&categoryOp=or
1- La primera llamada sin permitir response de tipo gzip y obtengo un
contenido application/atom+xml de 226757 bytes. Es el XML tal cuál.
2- La segunda vez hago la misma llamada permitiendo response de tipo
gzip y obtengo un contenido comprimido que al descomprimirlo me da un
fichero xml de 226757 bytes.
Los 2 resultados deberían ser iguales. Por ahora el tamaño del
contenido indica que así es.
Pero analizando los ficheros he descubierto diferencias: algunos
caracteres se han codificado mal en UTF-8. Por ejemplo podéis buscar
estos textos:
"y ahora una caña cuesta 3€" (Versión de la llamada gzip)
"y ahora una caña cuesta 3" (Versión de la llamada sin gzip)
"Sancho de Ávila 50" (Versión de la llamada gzip)
"Sancho de vila 50" (Versión de la llamada sin gzip)
Resumiendo: parece ser que la versión en gzip viene perfectamente
codificada, pero si llamamos al servicio sin que la respuesta venga
comprimida en gzip, el resultado que obtenemos está mal codificado.
Normalmente llamando a la url del servicio desde web el resultado se
codificará bien porque los browsers suelen enviar en la request Accept-
Encoding: gzip, pero en el caso de llamar al servicio desde código,
donde no siempre se pide la respuesta comprimida, nos encontramos
problemas con la codificación de caracteres.
Gracias y un saludo!
Jordi.