Page 5 of 5
Re: Capturar pagina html y recuperar resultado
Posted: Wed Oct 09, 2024 6:38 pm
by leandro
Antonio Linares wrote:Te envío otra lib modificada que va a mostrarnos el contenido de la static aWebViews
Por favor construye con ella y veamos que te aparece
gracias
Antonio buenas tardes como estas?
Sera que me envías de nuevo link porfa, estuve fuera dos días.
Gracias de antemano.
Re: Capturar pagina html y recuperar resultado
Posted: Thu Oct 10, 2024 7:10 am
by Antonio Linares
Re: Capturar pagina html y recuperar resultado
Posted: Thu Oct 10, 2024 12:58 pm
by leandro
Antonio buenos días como estas?
Volvimos al mensaje inicial

Re: Capturar pagina html y recuperar resultado
Posted: Fri Oct 11, 2024 4:58 am
by Antonio Linares
Por favor, vuelve a descargar a lib y prueba nuevamente:
https://github.com/FiveTechSoft/FWH_too ... Fivehx64.a
Re: Capturar pagina html y recuperar resultado
Posted: Fri Oct 11, 2024 8:22 pm
by leandro
Antonio buenas tardes como estas?
Nos devolvió este xbrowse

Re: Capturar pagina html y recuperar resultado
Posted: Sat Oct 12, 2024 2:42 am
by Antonio Linares
Vuelve a probar con esta librería modificada:
https://github.com/FiveTechSoft/FWH_too ... Fivehx64.a
gracias!
Re: Capturar pagina html y recuperar resultado
Posted: Tue Oct 15, 2024 12:06 pm
by leandro
Antonio buenos días gracias por responder...

Re: Capturar pagina html y recuperar resultado
Posted: Tue Oct 15, 2024 7:50 pm
by Antonio Linares
Has probado la librería nuevamente ?
Que resultado te ha dado ?
Re: Capturar pagina html y recuperar resultado
Posted: Wed Oct 16, 2024 6:30 pm
by leandro
Antonio Linares wrote:Has probado la librería nuevamente ?
Que resultado te ha dado ?
Antonio, ese el resulado con la ultima libreria que me enviaste
La descargue de este link que me enviaste.
Re: Capturar pagina html y recuperar resultado
Posted: Thu Oct 17, 2024 12:59 am
by Antonio Linares
Vuelve a descargarla y a probarla por favor, la he modificado
Re: Capturar pagina html y recuperar resultado
Posted: Thu Oct 17, 2024 3:51 pm
by leandro
Antonio buenos días como estas?

Re: Capturar pagina html y recuperar resultado
Posted: Wed Jan 08, 2025 3:04 am
by Enrrique Vertiz
Saludos
Consulto para saber si se llego a solucionar, Yo al dia de hoy sigo con el mismo error ...
Gracias
Re: Capturar pagina html y recuperar resultado
Posted: Wed Jan 08, 2025 7:20 am
by Antonio Linares
Por lo visto han puesto una verificación CloudFare de comprobación de que "eres un humano" por lo que ya no se puede usar asi
A alguien le funciona ?
No se hasta que punto podemos saltarnos ese bloqueo de forma automática. Lo siento.
Re: Capturar pagina html y recuperar resultado
Posted: Mon Jan 13, 2025 11:33 pm
by leandro
Enrrique Vertiz wrote: Wed Jan 08, 2025 3:04 am
Saludos
Consulto para saber si se llego a solucionar, Yo al dia de hoy sigo con el mismo error ...
Gracias
¿Hola Enrique buenas noches como estas?
Pues el error como tal sigue saliendo cuando se integra el código a la aplicación, pero lo solucionamos creando un ejecutable externo. Le enviamos el parámetro de la cédula (DNI en otros países) para acelerar el proceso, pero como dice Antonio, desafortunadamente ya no se puede de manera automática, hay que completar el CloudFare o esperar a que se valide. Así que agregamos dos botones para capturar la información, luego de completar el proceso de validación, los bajamos a un json y luego desde la app los recuperamos.
Code: Select all | Expand
#include "FiveWin.ch"
static oWebView
function Main( ... )
local oWnd, cResult, Btn_Div, Btn_Sal
Local aParams := hb_aParams() //recuperamos parametros
Local cIdenti := space(0)
Local cDian := space(0)
Local cInfo := space(0)
Local hConvierte := hash()
Local hDatos := hash()
Local lCapturado := .F.
Local cbRecuperainfo := <|cJson|
hb_jsondecode(cJson ,@hConvierte )
if hConvierte[1]
lCapturado := .T.
hDatos["tipo_tercero"] := hConvierte[2]
hDatos["tercero"] := hConvierte[3]
hDatos["estado"] := hConvierte[4]
hDatos["dv"] := hConvierte[5]
if hConvierte[2]=="NIT"
hDatos["razon_social"] := hConvierte[6]
else
hDatos["primer_nombre"] := hConvierte[6]
hDatos["segundo_nombre"] := hConvierte[7]
hDatos["primer_apellido"] := hConvierte[8]
hDatos["segundo_apellido"] := hConvierte[9]
endif
else
lCapturado := .F.
endif
oWnd:End()
>
Local hInfo := {=>}
Local cFec := dtos(date())
Local cTim := strtran(subs(time(),1,8),":","")
Local cRutaJson := "elnombredeljsonconlainfo.json"
Local cDevuelveInfo := <||
hInfo["capturado"] := lCapturado
hInfo["datos"] := hDatos
memowrit( cRutaJson , hb_jsonEncode( hInfo ) ,.F.)
>
if len(aParams)>0
cIdenti := alltrim(aParams[1])
cDian := "consultaDIAN( '"+cIdenti+"' )"
TEXT INTO cResult
var inputEstado = document.getElementById('vistaConsultaEstadoRUT:formConsultaEstadoRUT:estado');
if (inputEstado) {
var inputNIT = document.getElementById('vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit');
var cNit = inputNIT.value;
if(cNit.length==9){
[ true,'NIT',document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit' ).value,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:estado' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:dv' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:razonSocial' ).innerHTML ]
}else{
[ true,'OTRO',document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit' ).value,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:estado' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:dv' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:primerNombre' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:otrosNombres' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:primerApellido' ).innerHTML,
document.getElementById( 'vistaConsultaEstadoRUT:formConsultaEstadoRUT:segundoApellido' ).innerHTML ]
}
} else {
[false]
}
ENDTEXT
DEFINE WINDOW oWnd TITLE "Consultar estado NIT plataforma DIAN " SIZE 830, 700 PIXEL ICON ".\res\favicon-48x48.ico"
oWebView = TWebView2():New( oWnd )
//oWebView:bOnNavigationCompleted = { | cUrl, hWebView | If( "sessionid" $ cUrl, oWebView:Eval( cResult ),) }
oWebView:Navigate( "https://muisca.dian.gov.co/WebRutMuisca/DefConsultaEstadoRUT.faces" )
oWebView:InjectJavascript( JavaScript() )
//oWebView:OpenDevToolsWindow()
oWebView:bOnEval = { | cJson, hWebView | If( cJson != "null" .and. cJson != "{}", EVAL( cbRecuperainfo,cJson ),) }
oWebView:Eval( cDian )
@ oWnd:nHeight-80, 15 BUTTONBMP Btn_Sal OF oWnd PIXEL size 110, 26 PROMPT "Cancelar" TOOLTIP "Cerrar Ventana" ;
RESOURCE ".\res\icon-blue-dark-cerrar-big-16x16.png" TEXTRIGHT ACTION ( lCapturado := .F., oWnd:End() )
@ oWnd:nHeight-80, 80 BUTTONBMP Btn_Div OF oWnd PIXEL size 110, 26 PROMPT "Capturar" TOOLTIP "Capturar datos" ;
RESOURCE ".\res\icon-blue-dark-check-big-16x16.png" TEXTRIGHT ACTION (lCapturado := .T.,oWebView:Eval( cResult ))
ACTIVATE WINDOW oWnd CENTER ;
ON RESIZE (oWebView:SetSize( oWnd:nWidth, oWnd:nHeight-100 ), Btn_Div:nTop := oWnd:nHeight-80,;
Btn_Div:nLeft := oWnd:nHeight-10 ,Btn_Sal:nTop := oWnd:nHeight-80, Btn_Sal:nLeft := oWnd:nHeight-130 ) ;
VALID (EVAL(cDevuelveInfo),.T.)
oWebView:End()
else
lCapturado := .F.
EVAL(cDevuelveInfo)
//msginfo("no vienen los parametros")
endif
return nil
function Javascript()
local cCode
TEXT INTO cCode
function consultaDIAN( numeroIdentificacion )
{
var inputNIT = document.getElementById('vistaConsultaEstadoRUT:formConsultaEstadoRUT:numNit');
if (inputNIT) {
inputNIT.value = numeroIdentificacion;
} else {
console.error('No se encontró el campo de entrada para el NIT');
return;
}
}
ENDTEXT
return cCode