Actualmente estoy desarrollando un proyecto en Flex que es la creación de un Speller sin tener que recurrir a un archivo de diccionario (palabras), pero tratando de diseccionar el Google Web Toolkit y realmente entender cómo el sistema que está incrustado en la barra de herramientas para el firefox.
Al principio pensé que sería fácil, porque pensé que sería una API de Flash / Flex de Google corrector ortográfico, pero me engañó, y con razón!
Fui a buscar en la API de Google y su código (principalmente Java y / o js y algunos php) y el más difícil fue encontrar la secuencia de comandos o la conexión que permite la verificación de texto / palabra en los diccionarios Google, fue entonces que descubrí una Lo gracioso, la dirección https: / / www.google.com/tbproxy/ mixta en el medio del código, directamente claro que esta dirección no está disponible (o esperada), después de unos minutos me encontré el "hechizo? lang = es "Que cuando se agrega la dirección que han" respondido ". Él había descubierto la pólvora!
Después de que sería fácil, pensé ... pero empeorado desde la dirección no acepta los parámetros a través de la URL (GET / POST) ... Por lo tanto, si el servidor XML regresé, tal vez usted podría enviar PUESTOS XML como una respuesta .. Fui en busca de nuevas GWT (Google Web Toolkit) y allí se reunieron las instrucciones necesarias XML que se envía ..
Fui a la Flex y no lo hice <mx:HTTPService> para conectarse a esa dirección, y que no se trabajó ...
Los verdaderos problemas comenzaron cuando puse mi solicitud en línea, un verdadero rompecabezas:
Error:
[República Popular China Falla faultString = "Error de seguridad para acceder a url" faultCode = "Channel.Security.Error" faultDetail = "Destino: DefaultHTTP"]
¿Qué diablos fue eso? He intentado con el URLRequest, / URLVariables y otro error, error SandBox de seguridad, después de mucho buscar, me di cuenta que el problema es incluso peor que el simple error, o POST código en el servidor.
El gran problema es que, de hecho, el Flash no deja acceso a una dirección fuera de directo, por ejemplo, la alimentación o la API de AdWords. Parece que el problema es el mismo sandbox / navegador. Este problema sería si Google contornável fácilmente disponibles en su servidor un crossdomain.xml permitiendo el acceso directo, pero parece que Google insiste en hacer la vida difícil para los programadores de Flex / acción script.
Bueno, es un callejón sin salida .. ¿Qué hacer?
Comencé a pensar acerca de cómo resolver este problema, señalaron diversas sugerencias para el uso de este crossdomain.xml, que terminó siendo fuera de contexto, una vez que había otras opciones? tal vez utilizar un proxy en el Flex HTTPService, como en: Adobe Flex - Configuración de Proxy, pero que esta hipótesis fuera de la cuestión por ahora.
A partir de la posibilidad de hacer un script php que hace que la comunicación entre Google y Flex, por lo que es posible en algunos otros ejemplos de la API de Google.
Después de unos minutos dieron con otro problema, para utilizar el fsockopen (url: puerto); notado que Google simplemente no me responde, pero ¿por qué?
Para resumir:
abre la toma (se abre), envió los datos:
$ Data = "<post en XML>";
$ Enviar = "POST / tbproxy / hechizo? HTTP/1.1 lang \ r \ n";
$ Enviar .= "Host: www.google.com \ r \ n";
$ Enviar .= "Content-Length:". strlen ($ datos). "\ R \ n";
$ Enviar .= "Content-Type: application / x-www-form-urlencoded \ r \ n";
$ Enviar .= "Connection: Close \ r \ n \ r \ n";
Yo simplemente no devuelven nada.
Una vez más hacia atrás y se dio cuenta de que el problema era de $ enviar = "POST / tbproxy / hechizo? Lang HTTP/1.1 \ r \ n"; debe enviar HTTP/1.0 en lugar de 1,1. Desde allí fue un juego de niños ![]()
Final de trabajo, llamar a mi script php de Flex, envíe su solicitud de corrección y recibir datos en Flex, desde entonces, para encontrar las palabras con errores en el texto y hacer las correcciones necesarias.
Todo esto parece muy simple, pero pasó un día en el sistema de comunicación con Google.
He aquí brevemente que el resultado final ![]()













