Ad verba per numeros

Servicios y Utilidades
Monday, January 1, 2007, 10:22 PM
Los servicios web son cada vez más habituales, ya sea mediante interfaces SOAP o, más habitualmente, REST. Sin embargo, algunos de los más útiles siguen sin estar disponibles. Por ejemplo, no he encontrado ningún servicio web decente para traducir textos, ni BabelFish de Altavista ni las Language Tools de Google ofrecen un API para su consumo programático; debería ser trivial ofrecer un servicio web: se introduce texto en un idioma y sale texto en otro, sin embargo, nada, niente, nichts, nothing...

En estos casos no queda más remedio que construir un "wrapper"; un programa que haga peticiones al servicio fingiendo ser un navegador, procese el HTML y retorne los resultados deseados, en este caso el texto traducido.

Extraer la información del código HTML retornado no es mayor problema y realizar la petición no es difícil, basta con un poco de ingeniería inversa del formulario y una petición HTTP (GET o POST). Para esto último se puede emplear CURL (ya sea como aplicación o como biblioteca). Si uno trabaja en PHP, el soporte para CURL suele venir "de fábrica" :)

Sin embargo, las cosas nunca son tan sencillas y lo que funciona en el navegador no tiene por qué funcionar en el "wrapper", especialmente cuando entran en juego codificaciones de caracteres...

Hoy me he visto en esa tesitura y me he encontrado con una extensión para Firefox muy útil: Live HTTP Headers. Lo que permite es muy simple, ver las cabeceras HTTP que envía el navegador al servidor. Gracias a ella pude resolver el problema que me traía de cabeza y que, como era de esperar, tenía que ver con la codificación del formulario y el juego de caracteres aceptable.



Back Next