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 16-12-2006
Avatar de Roger007
Roger007 Roger007 is offline
Registrado
 
Registrado: oct 2006
Posts: 9
Poder: 0
Roger007 Va por buen camino
Viendo todo esto: ¿Se podria ejecutar un navegar pasandole los parametros necesarios para el login?

Ejemplo:

Código Delphi [-]
WinExec('C:\Archivos de programa\Internet Explorer\iexplore.exe http://clubdelphi/foros/login.phpvb_login_username=usuariovb_login_password=password s= do=login',1);

O algo asi, para que habra el navegador con la web del foro y ya logeado con mi usuario y password.

Un saludo, Roger.
Responder Con Cita
  #2  
Antiguo 16-12-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Lo que puedes hacer, es usar la función SendRequest de seoane con la que te logueas, y luego envias la orden que se habra la pagina que quieras con el IE sin necesidad de mandar parámetros.

No lo he probado pero deberia funcionar.
__________________
[Crandel]
Responder Con Cita
  #3  
Antiguo 16-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
Cita:
Empezado por Roger007
Viendo todo esto: ¿Se podria ejecutar un navegar pasandole los parametros necesarios para el login?
Pues no lo he probado, pero pasarle los parámetros por Get no es lo mismo que pasarle los parámetros por Post. Si el diseñador de la pagina ha tenido en cuenta la posibilidad de pasar lo parámetros por Get, puede que funcione, aunque lo mas seguro es que no.

Cita:
Empezado por Crandel
Lo que puedes hacer, es usar la función SendRequest de seoane con la que te logueas, y luego envias la orden que se habra la pagina que quieras con el IE sin necesidad de mandar parámetros.
No creo que eso funcione, cuando nos logueamos con mi función recibimos un identificador de sesión, un identificador que solo es valido dentro de nuestra aplicación. Así que si abrimos el explorador, este estará dentro de una sesión nueva, a menos que seamos capaces de enviarle de alguna manera el valor de la cookie de sesión, aunque lo veo difícil.

Lo que si podríamos hacer en el caso del ClubDelphi, es loguearnos usando la función SendRequest, pero marcando la opción "Recuerdame", de esta forma la información de login se guardara en una cookie persistente que la nueva ventana del explorer si podrá utilizar.
Responder Con Cita
  #4  
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.618
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.
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Responder Con Cita
  #5  
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
  #6  
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.618
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.
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.
Responder Con Cita
  #7  
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
  #8  
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.618
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
  #9  
Antiguo 28-12-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Cita:
Empezado por seoane
Lo que si podríamos hacer en el caso del ClubDelphi, es loguearnos usando la función SendRequest, pero marcando la opción "Recuerdame", de esta forma la información de login se guardara en una cookie persistente que la nueva ventana del explorer si podrá utilizar.
Veamos, estoy conectado a un sitio que utiliza cookies para el acceso, por eso puedo abrir varias veces el IE y seguir usandolo como el mismo usuario.

Lo mismo lo estoy con mi programa, el problema es que ahora quiero abrir varias instancias de mi programa, pero que cada una este conectada con un usuario diferente. El sitio me obliga a usar cookies.

pd: Estoy usando WinInet
__________________
[Crandel]

Última edición por Crandel fecha: 28-12-2006 a las 01:01:39.
Responder Con Cita
  #10  
Antiguo 11-03-2007
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 25
Crandel Va por buen camino
Cita:
Empezado por seoane
cuando nos logueamos con mi función recibimos un identificador de sesión, un identificador que solo es valido dentro de nuestra aplicación. Así que si abrimos el explorador, este estará dentro de una sesión nueva, a menos que seamos capaces de enviarle de alguna manera el valor de la cookie de sesión
Hola Seoane, podrias especificar dentro de tu función cual es el identificador de session del que hablas.

Estoy realizando la conexion a un servidor con multihilo, pero el resto de los hilos pierden la sesion, como hago para que todos mantengan la misma sesion?

edito: me parece que mi problema esta por otro lado, no esta perdiendo la sesion, porque un hilo si lo esta manteniendo.
__________________
[Crandel]

Última edición por Crandel fecha: 12-03-2007 a las 01:44:58.
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 16:06:53.


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