Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-12-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
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 Tenemos dos problemas Houston

¡Hola a todos!

Los saludo con muchísimo gusto esperando que hayan tenido una muy feliz Navidad y deseándoles lo mejor para el año que está por comenzar.

Les actualizo mi caso, ahora si estoy en algunos aprietos técnicos.

Son dos problemas en sí:

1. En una de las páginas que estoy automatizando veo que los parámetro enviados mediante el método Post son:

Cita:
Empezado por OnBeforeNavigate2 con el truco de Seoane para sacar los parámetros enviados por el navegador al servidor Web
----------------------------7d6242382036e
Content-Disposition:
form-data;
name="equipmentData"
-1
-----------------------------7d6242382036e
Content-Disposition:
form-data;
name="serialNumber"
-----------------------------7d6242382036e
Content-Disposition:
form-data;
name="consumptionCountryAnswer"
Y
-----------------------------7d6242382036e
Content-Disposition:
form-data;
name="filetogo1";
filename=""
Content-Type:
application/octet-stream
Observen que el signo de igual separa el nombre de los parámetros de sus valores. ¿Cómo es posible que uno de los parámetros se llame "----------------------------7d6242382036e
Content-Disposition:
form-data;
name"?

Al parecer están codificados (encriptados). Como pista, se supone que esos parámetros incluyen las cadenas "6D1948", "3F5108" y "8D3902", ya que las capturo en tres cuadros de texto de la página Web antes de hacer el "sumbit". Pero no encuentro aún la relación entre un "----------------------------7d6242382036e" y un 6D1948, aunque sospecho que no es tan difícil de averiguar.


2. El otro problema que tengo es que el sitio Web es HTTPS por lo que tengo que usar las DLLs libeay32.dll y ssleay32.dll, pero aún así, el componente TIdHTTP me arroja la excepción: EIdOSSLConnectError with message 'Error connecting with SSL. En este momento no puedo determinar que versión de SSL estoy usando, pero ¿cuál versión me sugieren utilizar con Delphi 7 y dónde podría conseguir ese par de DLLs?

De antemano les agradezco su ayuda.

Un abrazo espacial.

Al González.
Responder Con Cita
  #2  
Antiguo 27-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Hola Al,

Lo que planteas tiene una explicación muy sencilla. La codificación del formulario es diferente a la que estas acostumbrado. Hasta ahora habías tratado con formularios cuyo atributo enctype era "aplicación/x-www-form-urlencoded", por lo que los datos del formulario tenían un aspecto como este:
Código:
nombre1=valor1&nombre2=valor2
Ahora parece ser que el formulario usa "multipart/form-data". Este es otro tipo de codificación distinta, que se suele usar cuando además de texto, se necesita mandar otro tipo de información, como por ejemplo archivos. Una explicación un poco mas detallada la puedes encontrar aqui o puedes leer la normativa rfc2045

Con relación a tu pregunta, "----------------------------7d6242382036e" no es mas que un separador y no tiene relación con el valor de ninguno de los parámetros.

Creo que Indy puede trabajar con este tipo de codificación, pero ya sabes que yo soy mas de WinInet, así que es mejor que alguien con mas experiencia en Indy te lo confirme.
Responder Con Cita
  #3  
Antiguo 28-12-2006
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
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 Ah, OK, entonces...

¡Hola a todos!

Cita:
Empezado por seoane
...La codificación del formulario es diferente a la que estas acostumbrado. Hasta ahora habías tratado con formularios cuyo atributo enctype era "aplicación/x-www-form-urlencoded", por lo que los datos del formulario tenían un aspecto como este:
Código:
nombre1=valor1&nombre2=valor2
Ahora parece ser que el formulario usa "multipart/form-data". Este es otro tipo de codificación distinta, que se suele usar cuando además de texto, se necesita mandar otro tipo de información...
Gracias por la información Domingo. Ante esta eventualidad vi conveniente abrir otro hilo para tratar de forma más específica el problema:

TWebBrowser y TIdHTTP con “multipart/form-data”, ¿se puede?

De antemano gracias.

Un abrazo multiparte.

Al González.
Responder Con Cita
  #4  
Antiguo 10-02-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Al González
2. El otro problema que tengo es que el sitio Web es HTTPS por lo que tengo que usar las DLLs libeay32.dll y ssleay32.dll, pero aún así, el componente TIdHTTP me arroja la excepción: EIdOSSLConnectError with message 'Error connecting with SSL. En este momento no puedo determinar que versión de SSL estoy usando, pero ¿cuál versión me sugieren utilizar con Delphi 7 y dónde podría conseguir ese par de DLLs?
No sé si se resolvió esto. Yo acabo de tener que enfrentarme con ello y luego de múltiples intentos pude hacerlo así:
  • Usando las dlls de http://indy.fulgan.com/SSL/, la m para ser más exacto.
  • Conectando un IdSSLIOHandlerSocketOpenSSL a la propiedad IOHandler del IdHTTP
  • En la propiedad SSLOptions.Method de IdSSLIOHandlerSocketOpenSSL puse cualquier valor excepto el que trae por defecto

Todo esto con Indy 10 y mediante el método científico de probar una por una las opciones hasta dar con la adecuada

// Saludos

Última edición por roman fecha: 10-02-2007 a las 02:08:35.
Responder Con Cita
  #5  
Antiguo 18-02-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
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 Gracias. ¿Y se podrá con multi hilo?

¡Hola a todos!

Antes que nada pido una disculpa por demorarme más de un mes en retomar el tema. Román: felicidades por la nueva marca y gracias por los datos que proporcionas sobre Indy.

Me parece que uno de los problemas residía en que estaba yo utilizando la versión 9 de esta biblioteca de componentes, en lugar de la 10 (nunca la he actualizado):
Cita:
Empezado por alguien en mi archivo IdVers.inc
gsIdVersion = '9.00.10';
Aunque por el momento no he comprobado si esa era la causa del conflicto.

Debido a que también había que resolver el otro problema (cómo enviar datos multi parte), y ya no contaba con mucho tiempo para investigar más por mi cuenta, decidí confiar esta última pieza del caso a un colega de Veracruz, quien finalmente tuvo más éxito que yo, pero utilizando un componente de Kyriacos Michael llamado TIEHTTP (http://www.badfan.com/delphi/tie_http_https.html), el cual viene con un buen soporte para envío de datos multipart. El único detalle en contra de este componente es que requiere Internet Explorer, pero en el caso concreto que nos ocupa acá eso no representa ningún problema.

Ya se está utilizando aceptablemente la versión preliminar de la aplicación, pero ahora tengo en mente hacer esto con muli hilo (multithread), lo cual desconozco si es soportado por TIdHTTP y TIEHTTP (ojalá que sí). La idea es que mientras el servidor Web responde a una consulta, pueda lanzarse otra más, ya sea al mismo servidor Web o a otro (la aplicación hace múltiples consultas a tres servidores, la idea es que ahora las haga de manera simultánea para economizar tiempo). Haré algunas pruebas y les avisaré lo que ocurra.

De antemano les agradezco por cualquier consejo que consideren útil.

Un abrazo múltiple.

Al González.

Última edición por Al González fecha: 18-02-2007 a las 05:10:21.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Automatizacion de word (generar documentos) alt126 C++ Builder 4 24-04-2007 04:19:27
Automatizacion de word (insertar tablas) alt126 C++ Builder 2 04-11-2005 10:44:29
Consejo Automatizacion Excel Builder C++ alt126 C++ Builder 0 14-04-2005 10:52:04
HTTP Indy bochi Internet 1 27-12-2003 01:57:34
Http Server ebeltete Internet 0 17-05-2003 02:57:39


La franja horaria es GMT +2. Ahora son las 18:58:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi