Ver Mensaje Individual
  #15  
Antiguo 04-11-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Monólogo de acercamiento inicial

¡Hola a todos!

Ya le eché un vistazo superficial a las propiedades y eventos del componente TIdHTTP. Aquí el curso de mi pensamiento durante dicha labor:

--------------------------------------------------------------------------
Estudio del componente TIdHTTP.
Monólogo de acercamiento inicial.
Por Al González.


¡Vaya! Así que estos son los famosos Indy. Pero qué iconos tan simplones tienen, hasta un gatito aparece ahí...ah no, el diccionario dice que se trata de un «roedor semejante a la ardilla».

Bien, ya agregué un TIdHTTP a mi forma. La primera propiedad que tiene es AllowCookies, y aparece marcada con True negrita, como si su valor predeterminado fuese False. Lo más probable es que no le hayan puesto la cláusula Default a su declaración...Efectivamente, Doychin Bondzhev olvidó hacerlo, o no quiso. Prosigamos...

Curiosa nota en los comentarios de la unidad IdHTTP.pas:

Initially only GET and POST will be supported. As time goes on more will be added…

Sería interesante saber qué otros métodos de envío de datos pueden o podrían implementarse en HTTP.

AuthRetries. Ésta se me hace que la voy a necesitar para el ingreso de usuarios.

CookieManager. Aquí está la propiedad que decía Antonio. Por el momento voy a probar sin control de galletas (porque de hecho ya me las terminé ).

HandleRedirects. Esto me suena a cuando quiero entrar a una página y el navegador me lleva a otra, a veces de forma temporal para decirme que he ganado 50 millones de dólares y churradas similares.

HTTPOptions. Amo las propiedades Options, tienen un no sé qué que siempre te saca de apuros. hoForceEncodeParams está en True, como debe ser; ya había olvidado que en las URLs deben codificarse los caracteres no ingleses para que cualquier servidor Web lo interprete correctamente (ojalá Unicode no pase a la historia como el Esperanto de las comunicaciones, urge su uso difundido).

MaxLineAction, MaxLineLength con valor default de 16384. No dudo que todavía haya programadores que se jactan de su ingenio escribiendo doscientas sentencias en una sola línea.

Port 80. Según he escuchado, el puerto que utilizan los navegadores. Bien.

ProtocolVersion con valor de pv1_1. Ahora que recuerdo, cuando estuve trabajando con un mecanismo de inserción automática de texto HTML en Word, la cabecera del texto llevaba algo de versión al principio. Y si mal no recuerdo, para compatibilidad, la versión usada era la 0.9 (o algo así). Me pregunto si tiene que ver una cosa con la otra y cómo influye esto de la versión en TIdHTTP.

Vaya, la ayuda dice «specifies the HTTP version used for Get, Head, and Post methods for the HTTP client». Entonces sí existen otros métodos (por lo menos uno) además de Get y Post, ¿cómo será eso del método Head?

ProxyParams. ¡Oh-oh! Creo que ha llegado la hora de investigar qué es exactamente un proxy (durante años sólo he tenido la vaga idea de que es una especie de filtro repartidor de Internet, y que por lo regular limita la libertad de los usuarios para no dejarlos trabajar a gusto). A ver Wikipedia, dime quién es el más bonito, digo, dime qué es un proxy. Bien, por lo que veo no estaba tan lejos, es un software (por lo general) que administra, controla y facilita automáticamente los accesos a Internet en una red.

Si el cliente tiene un proxy, supongo tendré que emplear las sub propiedades ProxyUsername y ProxyPassword. Algo a tener en cuenta.

ReadTimeout. Ha de ser el tiempo de espera para recibir una respuesta del servidor Web, aunque la ayuda dice que es «peer connection». Supongo que en este caso el término conexión se refiere a cada orden o submit, enviado al servidor Web, no a la sesión en sí.

Request. «Specifies the header values to send to the HTTP server… Use Response to examine header values received in an HTTP protocol response from the server». Y veo que Response («Specifies the header values received from the HTTP server») es otra propiedad pero no publicada sino pública. Es lógico, puesto que no tendría sentido que apareciese en el inspector de objetos.

Estas dos propiedades me despiertan varias dudas: ¿qué es eso de los valores de cabecera? ¿se referirá a lo del método Head que leí antes? ¿qué utilidad tiene? ¿cómo funciona? Tal vez Dec o Domingo lo sepan, qué chévere es contar con ellos . ¿No tendrán otra cosa que hacer? Siempre están dando respuestas, y bastante buenas, son casi genios.

Tag. Seguro esta propiedad se refiere a las pestañas del navegador Mozilla. ¡Jejeje! es una broma que me hago a mí mismo.

Ahora pasemos al ver los eventos del componente...

Me llaman la atención los cuatro últimos, OnStatus, OnWork (vaya nombre menos descriptivo), OnWorkBegin y OnWorkEnd. Me pregunto qué utilidad tienen. Ah, vaya, el primero como que sirve para saber en qué parte del proceso se encuentra la petición al servidor Web. Los OnWorkXXX no me quedan claros, leeré de nuevo la ayuda; interesante: «OnWork is generally used to control the update of progress indicators or GUI components», dice algo similar para los otros dos.

OK, ya le eché un vistazo general a las propiedades y eventos del componente TIdHTTP. Ahora voy a hacer mi primera prueba (¡qué emoción!). Por lo pronto quisiera empezar con una página distinta a la que requiero acceder con mi aplicación. ¿Qué página estará buena para hacer esta prueba? ¿www.ponchito.com, www.youtube.com?..., ¡ah, ya sé! https://login.yahoo.com/config/mail?.intl=us con una cuenta temporal. Con tu permiso Yahoo...
--------------------------------------------------------------------------

De antemano, gracias por auxiliarme con mis dudas . Seguiremos informando.

Un abrazo índyco.

Al González.

Última edición por Al González fecha: 07-11-2006 a las 03:37:11.
Responder Con Cita