Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: cristian_19a en Marzo 23, 2012, 11:53:07 pm
-
hola gente, bueno mi pregunta es como puedo sacar los datos de un RUC desde la pagina de la SUNAT
he visto varios aplicativos de ventas que hacen eso ingresan el número de RUC y ya tienen los datos, claro eso
es con Internet.
Aquí les paso unos ejemplos para que lo revisen
http://www.perucontable.com/modules/newbb/dl_attachment.php?attachid=1326892243&post_id=88023 (http://www.perucontable.com/modules/newbb/dl_attachment.php?attachid=1326892243&post_id=88023)
http://excelnegocios.com/wp-content/uploads/2011/05/Consulta-ruc-y-mas.xls (http://excelnegocios.com/wp-content/uploads/2011/05/Consulta-ruc-y-mas.xls)
con este verifica si el RUC es valido o no
http://excelnegocios.com/wp-content/uploads/2011/07/Verificar-si-RUC-existe.xla (http://excelnegocios.com/wp-content/uploads/2011/07/Verificar-si-RUC-existe.xla)
la pagina de la SUNAT tienes que ingresar un código para visualizar el resultado lo que hace esto es evadir
el formulario de búsqueda del RUC es un archivo JS
http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias (http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias)
http://www.sunat.gob.pe/cl-ti-itmrconsruc/frameCriterioBusqueda.jsp (http://www.sunat.gob.pe/cl-ti-itmrconsruc/frameCriterioBusqueda.jsp)
creo que el resultado lo muestra en XML y el aplicativo busca en ese xml para obtener los datos para despues mostrarlos.
-
Baje el exe y efectivamente funciona, no sera que se hace algún tramite con la sunat o pedir algún permiso para lograr esto? porque la web de la sunat te exige tipear un captcha y esto se lo salta olímpicamente, yo uso este enlace también http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias (http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias) para buscar los datos, pero lo levanto usando el webbrowser, seria excelente lograr hacer lo mismo que ese aplicativo de tu primer enlace.
-
Pon al menos un ruc de ejemplo porque no se me ocurre como son :P
Quizás sniffeandolo al programa se podrá hacer algo
-
perdón, te doy estos que tengo por aqui
20491755076
10063902310
Gracias
-
hola gente, aver en el segundo enlace es un archivo excel con macros si rompen esa contraseña pueden ver el código del macro creo que existe un programa para sacar esa contraseña o evadir que pida contraseña
en el primer enlace es un archivo exe donde pueden descompilarlo ya que esta hecho en un lenguaje visual
Yacosta bueno la aplicación al hacer la consulta no pide permisos ala sunat para evadir el código captcha
aqui en este enlace http://excelnegocios.com/buscar-ruc-sunat-desde-excel/ (http://excelnegocios.com/buscar-ruc-sunat-desde-excel/) pueden ver mas detalles sobre el funcionamiento del macro del excel
bueno esta aplicación fue desarrolla bajo estos principioshttp://www.mediafire.com/?9u76k5oqtmto1xl (http://www.mediafire.com/?9u76k5oqtmto1xl)
que pertenece a esta pagina http://hojas-de-calculo-en-excel.blogspot.com/2009/09/obtener-datos-de-una-pagina-web.html (http://hojas-de-calculo-en-excel.blogspot.com/2009/09/obtener-datos-de-una-pagina-web.html)
-
Pues sip, el software hace un pedido web a www.sunat.gob.pe/w/wapS01Alias?ruc= (nº de RUC)
Parece hecho a mano, porque hace una peticion POST sin variables, en lugar de hacer GET :P
El programa aprovecha una version que es para celulares n.n
El resultado es un XML (wap) y de ahí obtienes todos los datos del RUC
-
Gracias,
probando el enlace como explica Raul me devuelve un archivo que cuando abro con un notepad este codigo xml:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta forua="true" http-equiv="Cache-Control" content="no-cache"/>
</head>
<template>
<do type="accept" label="Menu">
<go href="/w/InicioRucWap.jsp" />
</do>
<do type="options" label="Back">
<prev />
</do>
</template>
<card title="Resultado" id="frstcard">
<p>
<small><b>Número Ruc. </b> 20491755076 - ALMACENES SANTA ISABEL SOCIEDAD COMERCIAL DE RESPONSABILIDAD LIMITADA <br/></small>
<small><b>Antiguo Ruc.</b><br/></small>
<small>-</small>
<br/>
<small><b>Estado.</b>ACTIVO</small><br/>
<small><strong>Agente Retención IGV.</strong>
<strong>NO</strong> -
<br/>
</small>
<small><b>Nombre Comercial.</b><br/>- </small><br/>
<small><b>Dirección.</b><br/>JR. DEL BATAN 268 BR LA MERCED CAJAMARCA CAJAMARCA CAJAMARCA</small><br/>
<small>Situación.<b> HABIDO</b></small><br/>
<small><b>Teléfono(s).</b><br/>-</small><br/>
<small><b>Dependencia.</b><br/> 0163 O.Z.CAJAMARCA-MEPECO</small><br/>
<small><b>Tipo.</b><br/> SOC.COM.RESPONS. LTDA</small><br/>
<!--
<small><b>Inicio Act.</b><br/>0163</small><br/>
<small><b>Act. Económica. </b> O.Z.CAJAMARCA-MEPECO</small><br/>
-->
</p>
</card>
</wml>
Pero ¿Cual seria la forma correcta de manipular este archivo para que yo dándole 20491755076
me entregue:
ALMACENES SANTA ISABEL SOCIEDAD COMERCIAL DE RESPONSABILIDAD LIMITADA
JR. DEL BATAN 268 BR LA MERCED CAJAMARCA CAJAMARCA CAJAMARCA
Que son los 2 únicos datos que me interesan ¿Como podría hacer?
-
Claro Raul de hecho que es un XML
logre hacer esto para sacar los datos
http://www.4shared.com/rar/qaUBNyG2/file.html (http://www.4shared.com/rar/qaUBNyG2/file.html)
la contraseña para ingresar es 123456
Gracias a todos por su colaboración
si hay mejoras bienvenido sea ;)
-
Que bueno esta esto, Muchas gracias por compartir.
-
Muchas gracias Cristian, quedo pleno!!!! te debo un par de chelas :-)
-
Pueden subirlo a mediafire por que no he podido descargarlo, saludos
-
Muchachos he modificado la aplicación debido a los caracteres especiales como son la Ñ que no se mostraba y los espacios innecesarios.
lo pueden bajar con el mismo link
se me olvidaba decir que he colocado dos formas de obtener los datos
Gracias
-
Gracias doc.
-
Bien ahi cristian, yo estaba intentando hacer una aplicación similar, pero usando los sockets de Leandro (http request a mano, Las api de wininet me fallaban) pero tenia problemas a la hora de obtener los datos (lo hacia con InStr) ya que a veces el servidor me devolvia una respuesta vacia ???
Igual el proyecto estuvo interesante :)
-
Claro Raul de hecho que es un XML
logre hacer esto para sacar los datos
http://www.4shared.com/rar/qaUBNyG2/file.html (http://www.4shared.com/rar/qaUBNyG2/file.html)
la contraseña para ingresar es 123456
Gracias a todos por su colaboración
si hay mejoras bienvenido sea ;)
Bro!! estoy queriendo realizar la descarga del archivo, pero cuando coloco la contraseña me dice que es incorrecta, podrias revisarlo, porfa.
Saludos
-
perdón
ya esta intentar nuevamente por favor
Gracias
-
Gracias bro!!! me es de mucha utilidad, para un proyecto.
Saludos y muchos existos.
-
Si biene es cierto que este tema ha sido empezado hace mucho,
solo me registre para agradecerte por compartir el código
y darnos la posibilidad de adaptarlos a nuestros proyectos,
Muchas gracias.
-
Hola a tdos, Gracias por su aporte y participación, sobretodo a quien inicio Cristian.
PORFA podrían resubir el aporte de cristian_19a
Gracias!!!!! :D
-
Pues sip, el software hace un pedido web a www.sunat.gob.pe/w/wapS01Alias?ruc= (nº de RUC)
Parece hecho a mano, porque hace una peticion POST sin variables, en lugar de hacer GET :P
El programa aprovecha una version que es para celulares n.n
El resultado es un XML (wap) y de ahí obtienes todos los datos del RUC
Hola amigos.
Sin embargo esa url solo obtiene los datos básicos. Como obtengo los demás datos??
Alguien sabe que parámetros usar para los demás datos??
Nota:
También pido lo mismo que mcdenis. Vuelvan a resubir el archivo...los amigos que ya lo tienen.
Buena información de cristian_19a.
-
¿Que demas datos doc?
-
Actividad económica (porque la q muestra repite lo q contiene dependencia y la verdad nose de donde lo obtiene porque cuando consultas los datos en la SUNAT no hay ese campo), Información histórica, Representantes legales,
Establecimientos Anexos,... etc. en la SUNAT: http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias (http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias)
-
bro vuelve a cargar el archivo por que esta roto el link por fa
-
Bueno, si lo que necesitas es poder ingresar saltandote el captcha.... pues acabo de lograr hacer un decodificador para ese captcha, lo estoy probando y en breve les paso la dll para que la usen donde sea... XD
-
Estimado GaSK
Suena interesante tu ofrecimiento y se agradece, pero lo que caracteriza a este site es el espíritu de compartir código fuente de esta forma todos aprenden y/o ayudan a pulir el código.
Saludos, desde algún lugar de Lima - Perú
-
DOC intenté descargar el archivo, pero el link está roto crees que lo puedas resubir. Se te agradece la respuesta.
-
Amigo GaSk la dll que ofreciste hace un poco más de un mes me dio mucho interés por probarla, la puedes compartir. Me interesa aprender que es lo que haces para decodificar el captcha para ver si puedo adaptar a otro captcha.
PatriciaBB
-
Pues sip, el software hace un pedido web a www.sunat.gob.pe/w/wapS01Alias?ruc= (nº de RUC)
Parece hecho a mano, porque hace una peticion POST sin variables, en lugar de hacer GET :P
El programa aprovecha una version que es para celulares n.n
El resultado es un XML (wap) y de ahí obtienes todos los datos del RUC
Bueno que lastima... parece que el servicio de acceso al WAP ha quedado inhabilitado puesto que ya no se puede acceder, habra que hacer la otra alternativa de descifrar el captcha y demas. ¿Sera esto temporal?
-
sí dejo de funcionar a finales de diciembre del 2014, ahora que hacemos, por mi parte iré investigando, si tienen novedades comentenlo
-
Mis clientes ya saltaron a mi yugular, de momento les dije que la Sunat inhabilito el servicio no sabemos hasta cuando, que es culpa de ellos. A ver de que otra manera resolverlo. Pasa que el servicio lo usaba bastante automatizado, dentro de mi formulario el cliente ponía el ruc y el programa buscaba en la BD si ese cliente esta registrado, sino lo estaba leia desde la Sunat y cargaba los datos solo para que el cliente presione Grabar.... ¿y ahora?...
Y ¿porque lo habran quitado? quiza les significaba algun costo y dado que celulares que usen servicio wap casi no existen decidieron eliminarlo.
-
Estimado YAcosta
Ahora le debes tu yugulara al amigo FrankLizardo, el publico el código fuente para obtener los datos del RUC desde la página de la SUNAT que solicita superar el reto CAPTCHA. Hace uso de una librería libre tesseract-ocr que se encarga de traducir el CAPTCHA a texto. El código lo vi muy rápidamente para dar respuesta en su momento a PatriciaBB y me parece que se puede optimizar y podríamos hacerlo entre todos.
Link del post: [size=78%]http://leandroascierto.com/foro/index.php?topic=2720.msg15345#msg15345 (http://leandroascierto.com/foro/index.php?topic=2720.msg15345#msg15345)[/size]
Código Fuente: [size=78%]http://1drv.ms/1EeiIcT[/size]
Saludos desde algún lugar de Lima-Perú
-
Ah esto esta bueno doc, no habia revisado ese enlace porque hasta esa fecha lo que tenia funcionaba. Voy a ver que optimizarlo pero hasta donde vi esta bastante funcional
-
Bueno estuve revisando y me ha funcionado en los 4 o 5 primeros rucs, luego entra a un loop infinito convirtiendo varios capcha sin para, lo curioso es que lo convierte bien, la conversion del capcha esta de 10!! y sin embargo sigue buscando.
EDITO:
Con algunos RUCs pasa eso, por ejemplo estos RUCs estan con Baja de Inscripción
20571427746
20571336601
20568019106
20568026145
Sin embargo este otro si está habido: 20571254116 pero con baja de oficio y entra al mismo loop infinito ¿Porque? (se puede verificar aqui (http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias))
De momento voy a hacer que el codigo hago 5 pasadas, sino encuentra al quinto intento dare un mensaje como "No se pueden obtener los datos de este RUC" o similar.
-
Ok ya entendi, esto pasa cuando en la función OtroSunat se intenta hacer el replace de una cadena que no existe y se manda la rutina EsteErr poniendo en False a la función y entrando de nuevo al loop. Esto implica entonces hacer una mejor validación de la cadena.
Basicamente el problema esta en esta linea:
xTabla(9) = Replace(Mid(xTabla(9), 1, InStr(xTabla(9), "<!--") - 1), "class='bg' colspan=3>", "")
De momento hare una consulta si existe "<!--" para correr eso y sino solo "class='bg' colspan=3>", "" salvo mejor alternativa.
-
Hola como estan todos, me interesa mucho el tema de incorporarlo a mi sistema, pero hay un pequeño problema, que se queda en en loop infinito como dice YAcosta, como puedo solucionar eso?
-
Aqui dejo el link resolviendo esos problemas
http://leandroascierto.com/foro/index.php?topic=2720.15 (http://leandroascierto.com/foro/index.php?topic=2720.15)
-
Aqui dejo el link resolviendo esos problemas
http://leandroascierto.com/foro/index.php?topic=2720.msg15345#msg15345 (http://leandroascierto.com/foro/index.php?topic=2720.msg15345#msg15345)
muchas gracias.
-
Hola este es mi intento, encuentro un error de protocolo favor si alguien me da una pista .
Por lo pronto ya logre convertir la imagen a texto con una OCR en NET llamada tessnet2.dll. Lo estoy mandando directo con datos fijos
private void mt_otro3()
{
try
{
//Creating the Web Request.
HttpWebRequest httpWebRequest = HttpWebRequest.Create("http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias") as HttpWebRequest;
//Specifing the Method
httpWebRequest.Method = "POST";
//Data to Post to the Page, itis key value pairs; separated by "&"
string data = "accion=consPorRuc&nroRuc=20100495989&search1:20100495989&codigo=FGRT&tipdoc=1";
//Setting the content type, it is required, otherwise it will not work.
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
//Getting the request stream and writing the post data
using (StreamWriter sw = new StreamWriter(httpWebRequest.GetRequestStream()))
{
sw.Write(data);
}
//Getting the Respose and reading the result.
HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
using (StreamReader sr = new StreamReader(httpWebResponse.GetResponseStream()))
{
MessageBox.Show(sr.ReadToEnd());
}
}
catch (WebException wex)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("ERROR:" + wex.Message + ". STATUS: " + wex.Status.ToString());
if (wex.Status == WebExceptionStatus.ProtocolError)
{
var response = ((HttpWebResponse)wex.Response);
sb.AppendLine(string.Format("Status Code : {0}", response.StatusCode));
sb.AppendLine(string.Format("Status Description : {0}", response.StatusDescription));
try
{
StreamReader reader = new StreamReader(response.GetResponseStream());
sb.AppendLine(reader.ReadToEnd());
}
catch (WebException ex) { throw; }
}
throw new Exception(sb.ToString(), wex);
}
}
Gracias.
-
Bueno, tengo este problema (video de 3 minutos)
https://www.youtube.com/watch?v=f9urW6ubSGk
Pero ademas de ello he notado de que si la pagina web de la Sunat se cae (a veces sucede) entonces este modulo colgaría todo mi sistema, aparte del problema que esta en el video.
Me pase todo el dia de ayer tratando de resolver pero mis conocimientos sobre Apis no alcanza para dar solución.
Ya casi estoy por tirar la toalla y por los dos inconvenientes que tengo lo mejor sera hacer un aplicativo aparte que consulte a la Sunat y grabe en la base de datos, lo invocare usando shellexecute desde mi sistema, de esa forma queda resuelto ambos problemas y solo tendria el problema de usabilidad que ya es mas facil de resolver.
-
Estimado YAcosta
[/size]
[/size]Dos temas:
- [/size]Para descartar, en el proyecto original de FrankLizardo adiciona el user control que mencionas en el video y ejecútalo a ver cómo se comporta la aplicación
- [/size]Convierte el código de FrankLizardo a DLL, de esta forma optimizares tu programa y para cuando la SUNAT realice otro cambio solo reemplazas la DLL
[/size]
[/size]Saludos desde algún lugar de Lima-Perú
-
Muchas gracias estimado Albertomi, te comento. La verdad la frustración era tanta y tantas pruebas que ya me perdí, te explico brevemente.
Hice una copia de todo mi proyecto para manipularlo. Puse el codigo de Frank y este como se esperaba no levanto.
En esa copia quite de todos los formularios ese UC y luego quite el UC del proyecto, el código de Frank funcionó, luego en una de esas probando en el proyecto copia el codigo de Frank y me percate que NO habia quitado el UC (customtooltip (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=69747&lngWId=1&txtForceRefresh=27201510553993949)) que estaba alli, asi que de pura joda puse en el formulario de consulta a sunat el control y el maldito SI FUNCIONO!!! funciono teniendo el UC al lado.... entonces queda demostrado que ese UC no lo afecta lo que me devuelve la cordura porque ambos apis estan declarados de forma privada y efectivamente no deberian afectarse porque no se alcanzan.
Pero entonces ¿porque en el proyecto original con el codigo de Frank se cae en esa linea?? siendo que al proyecto copia le quite ese UC pero luego se lo puse solo al form de consulta sunat y anda.
Después pensé en que quiza al proyecto copia le vuelvo a poner el control... pero seguire en la ignorancia de no saber que paso... y si sucede lo mismo en cliente??? por eso empiezo a pensar en invocar ese codigo convertido en aplicativo externo.
Sobre lo ultimo, de convertir a dll... la verdad no se bien como hacer ello ya que el codigo necesita un picture... no la verdad no se ni como empezar pero si podria investigarlo despues de saber que pasa con el problema de arriba.
Muchas gracias estimado
-
Can you repost original code from FrankLizardo.
The link is dead...
Thank you
-
Pero sobre este tema, yo acabo de crear una nueva solución, por el momento solo dispongo algo de informacion.
En mi webserver he habilitado una consulta de RUC, que el resultado te nuestra en formato XML, ya de ahi solo metan su creatividad para poder utilizarlos.
http://www.miasoftware.net/ruc
Bueno señores, haber si me dan una manito para mejorarlo, en el trancurso de esta semana, estoy levantando informacion de los anexos.
-
Amigo handblack muy bueno lo que haz hecho quizas no te pueda ayudar porque mis conocimientos son casi nulos recien ando aprendiendo asi que mas bien te quiisera pedir que tu me ayudes ami si no fuera mucha molestia.
-
Dany, para poder obtener informacion del RUC desde el webservice que he abilitado, solo tienes que llamarlo asi:
http://www.miasoftware.net/consultaruc/consultar.php?ruc=20547313454
y la informacion que esta te devuelve lo hace en formato XML, que ese tipo de formato lo puede leer cualquier lenguaje de programacion, busca en San google de como puede manipular los XML.
Mas informacion:
http://blog.miasoftware.net/sunat/consulta-de-ruc-en-linea-www-sunat-gob-pe/
-
que tal este Aporte de Consulta de RUC sin Captcha y te muestra los datos en separadores (,;)
http://franklizardo.esy.es/tanus_ruc_dni?fdni=70189422 (http://franklizardo.esy.es/tanus_ruc_dni?fdni=70189422)
http://franklizardo.esy.es/tanus_ruc_dni?fruc=10210143209 (http://franklizardo.esy.es/tanus_ruc_dni?fruc=10210143209)
ya ustedes lo programan y lo separa asi cada grupo esta separado por el ; asi que a separar
y lo veran asi:
(https://dl.dropboxusercontent.com/u/55312882/sunat.png)
bien ya termine una aplicacion haber q les parece
https://dl.dropboxusercontent.com/u/55312882/Sunat_sin_captcha.rar (https://dl.dropboxusercontent.com/u/55312882/Sunat_sin_captcha.rar)
(https://dl.dropboxusercontent.com/u/55312882/sunat_sin_Captcha.png)
-
Muy buen aporte lo unico que no muestra fecha de Afiliado al PLE ni actividad economica, pero el resto muy bueno solo espero que no cambies la ruta. Muy agradecido
-
AMIGO QUE PASO CON TU ENLACE YA NO ESTA DISPONIBLE
-
estimado Frank
tu aplicativo esta perfecto, veo que funciona porque direccionas a unas pag web especiales y procesa con el dato que adiciones (DNI o RUC)
Frank, tengo un aplicativo en VB6 tengo los valores para pasar, incluso el captcha en texto, pero me quedo alli, porque no tengo la URL o link real para pasar mis valores y que me devuelva la informacion., yo tengo esto:
http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias?accion=consPorRuc&nroRuc=20100495989&search1=20100495989&codigo=QFGP - Captcha
por favor solo necesito que me envies el LINK o URL correcto, yo armo la cadena.
desde ya muchas gracias, por tu valiosa ayuda.
JP
-
Algo ha hecho la sunat que ya nada funciona, usando cualquier de los codigos expuestos siempre arroja que todos los RUC son invalidos... que maleao
-
ya vi la pendex de la sunat, solo cambien en su codigo la www por ww1 hasta nuevo aviso, de momento asi si me funciona.
-
Interesante el aporte de Leandro, pero aquí encontré un blog donde explica la consulta de ruc directa y sin captcha, en 4 lenguajes, me parece que esta bien detallado
https://tisoft.wordpress.com/category/consultas-sunat/
-
En este blog, encontré búsqueda de ruc hasta en 4 lenguajes, esta lago interesante
https://tisoft.wordpress.com/category/consultas-sunat/
-
interesante gracias por el aporte
-
Alguien puede dar una idea que va en las famosas dll que se crean, y otra consulta si se dice que solo se necesita el tesseract.exe testdata\eng.traineddata porque cuando desisntalo el tesseract no me funciona el tesseract a pesar de que los archivos mencionados los tengo al lado de mi proyecto
-
Intenta darle la ruta completa como si no estaría registrado en path.
-
hola buenas noches y porque no hacerlo directo desde la pagina de la sunat para hacer la busqueda desde el codigo de vb6.0 porque redirigir hasta http://munilaberinto.gob.pe?
lo digo porque tal vez puedan dar de baja la pagina y ya no se pueda hacer la consulta.
muchas gracias
-
Regalo, consulta ruc sin captcha Aqui demo https://www.youtube.com/watch?v=BlB8f9jkz3Y
Descarga Aqui http://www.mediafire.com/download/89w2t8k28fh5k24/Consulta+RUC+2016%283%29.rar
-
Regalo, consulta ruc sin captcha Aqui demo https://www.youtube.com/watch?v=BlB8f9jkz3Y
Descarga Aqui http://www.mediafire.com/download/89w2t8k28fh5k24/Consulta+RUC+2016%283%29.rar
can you give me the sourcecode? thanks