In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Acceder con TInternet a Servidor Autenticado

Foro público de Xailer en español
Responder
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por Karl Svensson »

Tengo problemas para acceder a una pagina que pide autenticación de usuario
y contraseña.
WITH OBJECT TInternet():New( Self )
:cUser:="usuario"
:cPassword:="password"
:nPort:=1003
IF :Open()
IF !Empty( hData := :OpenURL( "http://1.1.1.2:1003/pagina.aspx" ) )
IF :ReadFile( hData, @cData, 65536 )
::oMemo1:Value := cData
ENDIF
:CloseURL( hData )
ENDIF
:Close()
ENDIF
END
Si utilizo el acceso a través de OLE se activa la petición manual para la
autenticación, pero con TInternet no logra validar el usuario.
¿Alguna sugerencia? Gracias!
Karl
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por jlalin »

Karl,
algunas veces he tenido que conectar explí­citamente al servidor.
Prueba así­:
IF :Open()
:Connect( "http://1.1.1.2" )
Saludos,
José Lalí­n
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por Karl Svensson »

José, no funciona
Ya probé de hacer el connect pero parece que no permita la validación.
La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
Sharepoint en Windows 2003.
El caso es que llega a devolver la pagina desde el servidor, con el error de
usuario. Parece que no le llegan el usuario y password, no deben poderse
enviar.
En el caso de usar una instancia de Internet Explorer mediante TOLEAUTO() me
pide la autenticación. Probablemente,el servidor Sharepoint exige introducir
la clave y no permite hacerlo internamente.
De todas formas, muchas gracias
Karl
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:439459d6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Karl,
>
> algunas veces he tenido que conectar explícitamente al servidor.
>
> Prueba así:
>
> IF :Open()
> :Connect( "http://1.1.1.2" )
>
> Saludos,
> José Lalín
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por jlalin »

Karl,
> La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
> Sharepoint en Windows 2003.
¿ Tienes información sobre el tipo de datos que espera la autenticación ?
Es muy probable que la implementación de MS en Wininet.dll esté enviando
el nombre de usuario como texto "plano" y el Sharepoint, a lo mejor,
espera que se le enví­en los datos codificados como MD5, CRC, etc.
Si así­ fuera tan sólo habrí­a que hacer:
::oNet:cUser := MD5String( "user" )
::oNet:cPassword := MD5String( "pass" )
Mí­ralo y me cuentas.
Saludos,
José Lalí­n
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por Karl Svensson »

No puede ejecutar tu ejemplo, me falta el valor de la constante
_HB_FUN_MD5STRING, ¿debo hacer algun include?
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=43946a8d@ozsrvnegro.ozlan.local...]43946a8d@ozsrvnegro.ozlan.local...[/email]
>
> Karl,
>
>> La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
>> Sharepoint en Windows 2003.
>
> ¿ Tienes información sobre el tipo de datos que espera la autenticación ?
>
> Es muy probable que la implementación de MS en Wininet.dll esté enviando
> el nombre de usuario como texto "plano" y el Sharepoint, a lo mejor,
> espera que se le envíen los datos codificados como MD5, CRC, etc.
>
> Si así fuera tan sólo habría que hacer:
>
> ::oNet:cUser := MD5String( "user" )
> ::oNet:cPassword := MD5String( "pass" )
>
> Míralo y me cuentas.
>
> Saludos,
> José Lalín
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por Karl Svensson »

He utilizado la función HB_MD5("usuario") y ya me ha compilado, pero sigue
sin conectar.
Creo que tu comentario es el camino a investigar, he encontrado esta pagina
en el MSDN que explicas las reglas de validación, aunque voy un poco perdido
con las rutinas que aquí indican.
http://msdn.microsoft.com/library/defau ... /library/e n-us/wininet/wininet/handling_authentication.asp
Gracias
Karl
"Karl Svensson" <karl@bcnartis.com> escribió en el mensaje
news:[email=43947a94@ozsrvnegro.ozlan.local...]43947a94@ozsrvnegro.ozlan.local...[/email]
> No puede ejecutar tu ejemplo, me falta el valor de la constante
> _HB_FUN_MD5STRING, ¿debo hacer algun include?
>
> "José Lalín" <dezac@corevia.com> escribió en el mensaje
> news:[email=43946a8d@ozsrvnegro.ozlan.local...]43946a8d@ozsrvnegro.ozlan.local...[/email]
>>
>> Karl,
>>
>>> La autenticación es tipo Windows Integrada, y la web es WSS un Sitio de
>>> Sharepoint en Windows 2003.
>>
>> ¿ Tienes información sobre el tipo de datos que espera la autenticación ?
>>
>> Es muy probable que la implementación de MS en Wininet.dll esté enviando
>> el nombre de usuario como texto "plano" y el Sharepoint, a lo mejor,
>> espera que se le envíen los datos codificados como MD5, CRC, etc.
>>
>> Si así fuera tan sólo habría que hacer:
>>
>> ::oNet:cUser := MD5String( "user" )
>> ::oNet:cPassword := MD5String( "pass" )
>>
>> Míralo y me cuentas.
>>
>> Saludos,
>> José Lalín
>
>
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por jlalin »

Karl,
> He utilizado la función HB_MD5("usuario") y ya me ha compilado, pero sigue
> sin conectar.
Ya, sólo era un ejemplo de por dónde debí­amos ir :-)
> Creo que tu comentario es el camino a investigar, he encontrado esta pagina
> en el MSDN que explicas las reglas de validación, aunque voy un poco perdido
> con las rutinas que aquí­ indican.
Intenta algunas de estas operaciones a ver si conseguimos sacar algo:
* Incluye "Wininet.api" en el fuente
* Prueba con IF :Open( , , , INTERNET_FLAG_KEEP_CONNECTION )
* Después de :Open() mira el valor de nLastError y GetErrorDescription()
* Prueba también con :ErrorDialog( ::nLastError ) después de :Open()
* Prueba con :GetRequest() en vez de :OpenURL()
Con los resultados que obtengas deberí­amos saber el camino a seguir.
Saludos,
José Lalí­n
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Acceder con TInternet a Servidor Autenticado

Mensaje por Karl Svensson »

OK! Mañana será un buen día......
Saludos y muchas gracias por la luz
Karl
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=43948019@ozsrvnegro.ozlan.local...]43948019@ozsrvnegro.ozlan.local...[/email]
>
> Karl,
>
>> He utilizado la función HB_MD5("usuario") y ya me ha compilado, pero
>> sigue sin conectar.
>
> Ya, sólo era un ejemplo de por dónde debíamos ir :-)
>
>> Creo que tu comentario es el camino a investigar, he encontrado esta
>> pagina en el MSDN que explicas las reglas de validación, aunque voy un
>> poco perdido con las rutinas que aquí indican.
>
> Intenta algunas de estas operaciones a ver si conseguimos sacar algo:
>
> * Incluye "Wininet.api" en el fuente
> * Prueba con IF :Open( , , , INTERNET_FLAG_KEEP_CONNECTION )
> * Después de :Open() mira el valor de nLastError y GetErrorDescription()
> * Prueba también con :ErrorDialog( ::nLastError ) después de :Open()
> * Prueba con :GetRequest() en vez de :OpenURL()
>
> Con los resultados que obtengas deberíamos saber el camino a seguir.
>
> Saludos,
> José Lalín
Responder