El siguiente código fuente desarrollado en Visual Studio .NET permite realizar la consulta RUC a SUNAT
- 'JAVIER ULLOA 24NOV16
- 'TEC FACTORY
- Imports System.Net
- Imports System.IO
- Public Class frmConsultaSunat
- #Region "VARIABLES"
- Private miCookie As New CookieContainer
- Public Enum eResultadoConsulta
- ConsultaSatisfactoria = 1
- ErrorDeCaptcha = 2
- RucNoEncontrado = 3
- Otro = 4
- End Enum
- #End Region
- #Region "VOID"
- Private Function obtieneImagenCaptcha()
- Dim UrlCaptcha As HttpWebRequest =WebRequest.Create("http://www.sunat.gob.pe/cl-ti-itmrconsruc/captcha?accion=image")
- UrlCaptcha.CookieContainer = Me.miCookie
- ServicePointManager.SecurityProtocol =SecurityProtocolType.Ssl3
- UrlCaptcha.Credentials = CredentialCache.DefaultCredentials
- Dim Captcha As WebResponse = UrlCaptcha.GetResponse
- Dim imgCaptchaBinario As Stream = Captcha.GetResponseStream
- Return Image.FromStream(imgCaptchaBinario)
- End Function
- Public Function ObtieneDatosSunat(ByVal str_dni As String, ByVal str_captcha As String, ByVal _txtRzSoc As TextBox, ByVal _txt_tipoemp As TextBox, ByVal _txtNomCom As TextBox, ByVal _txtFecIns As TextBox, ByVal_txtFecIni As TextBox, ByVal _txtEstCont As TextBox, ByVal _txtCondCont As TextBox, ByVal _txtDirec AsTextBox, ByVal _txtTelef As TextBox) As eResultadoConsulta
- Dim urlReniec As String =String.Format("http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias?accion=consPorRuc&nroRuc={0}&codigo={1}&tipdoc=1", str_dni, str_captcha)
- Dim enlaceReniec As HttpWebRequest =WebRequest.Create(urlReniec)
- enlaceReniec.CookieContainer = Me.miCookie
- ServicePointManager.SecurityProtocol =SecurityProtocolType.Ssl3
- enlaceReniec.Credentials =CredentialCache.DefaultCredentials
- Dim respuesta_web As WebResponse =enlaceReniec.GetResponse
- Dim myStream As Stream =respuesta_web.GetResponseStream
- Dim myStreamReader As New StreamReader(myStream)
- Dim Count As Integer = 0
- Dim LineaVerificacionTexto As String = ""
- Dim Adicionar As Integer = 0
- If Me.txtRUC.Text.Substring(0, 1) = "1" Then 'RUC 10
- Adicionar = 4
- End If
- While LineaVerificacionTexto = myStreamReader.ReadLine <> vbNull
- Count += 1
- LineaVerificacionTexto = myStreamReader.ReadLine.Trim
- Select Case Count
- Case 15
- If LineaVerificacionTexto = "
"
Then - Return eResultadoConsulta.RucNoEncontrado
- End If
- Case 25
- If LineaVerificacionTexto.Remove(0, 17) = "El codigo ingresado es incorrecto
Return eResultadoConsulta.ErrorDeCaptcha
End If
Case 61
_txtRzSoc.Text = LineaVerificacionTexto '
20482736450 - EMDERSOFT S.A.C.
20482736450 - EMDERSOFT S.A.C.
Me.quitaEtiquetas(_txtRzSoc)
_txtRzSoc.Text =_txtRzSoc.Text.Remove(0, 15)
Case 63
_txt_tipoemp.Text =LineaVerificacionTexto '
SOCIEDAD ANONIMA CERRADA
SOCIEDAD ANONIMA CERRADA
Me.quitaEtiquetas(_txt_tipoemp)
Case 66
_txtNomCom.Text = LineaVerificacionTexto
Case 68 + Adicionar
_txtFecIns.Text = LineaVerificacionTexto '
28/10/2010
28/10/2010
If Me.txtRUC.Text.Substring(0, 1) = "1" Then
_txtFecIns.Text = myStreamReader.ReadLine.Trim
End If
Me.quitaEtiquetas(_txtFecIns)
Case 69 + Adicionar
_txtFecIni.Text = LineaVerificacionTexto '
29/11/2010
29/11/2010
Me.quitaEtiquetas(_txtFecIni)
Case 71 + Adicionar
_txtEstCont.Text = LineaVerificacionTexto '
ACTIVO
ACTIVO
Me.quitaEtiquetas(_txtEstCont)
Case 76 + Adicionar
_txtCondCont.Text = LineaVerificacionTexto
Case 79 + Adicionar
_txtDirec.Text = LineaVerificacionTexto '
----PR.MIRAFLORES NRO. 2099 URB. MANPUESTO (COSTADO PARROQUIA SAN ESTEBAN)LA LIBERTAD
----PR.MIRAFLORES NRO. 2099 URB. MANPUESTO (COSTADO PARROQUIA SAN ESTEBAN)LA LIBERTAD
Me.quitaEtiquetas(_txtDirec)
_txtDirec.Text = _txtDirec.Text.Replace("----", "")
_txtDirec.Text = _txtDirec.Text.Trim
Case 81 + Adicionar
LineaVerificacionTexto = myStreamReader.ReadLine.Trim
Me.txtTelefono.Text = LineaVerificacionTexto '
Me.txtTelefono.Text = Me.txtTelefono.Text.Replace("", "")
Me.quitaEtiquetas(txtTelefono)
Return eResultadoConsulta.ConsultaSatisfactoria
End Select
End While
Return eResultadoConsulta.Otro
End Function
Private Sub quitaEtiquetas(ByVal _txt As TextBox)
_txt.Text = _txt.Text.Remove(0, 25)
_txt.Text = _txt.Text.Replace("
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.pbCapcha.Image = Me.obtieneImagenCaptcha
Me.txtEscribirCodigo.Select()
End Sub
Private Sub LimpiarCajas()
Me.txtRazonSocial.ResetText()
Me.txtTipoEmpresa.ResetText()
Me.txtNombreComercial.ResetText()
Me.txtFechaInicioActividades.ResetText()
Me.txtFechaInscripcion.ResetText()
Me.txtEstadoContribuyente.ResetText()
Me.txtDireccion.ResetText()
End Sub
Private Sub cmdConsultaDNI_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlescmdConsultaDNI.Click
Me.LimpiarCajas()
Select Case Me.ObtieneDatosSunat(Me.txtRUC.Text.Trim, Me.txtEscribirCodigo.Text.Trim, Me.txtRazonSocial, Me.txtTipoEmpresa, Me.txtNombreComercial, Me.txtFechaInscripcion, Me.txtFechaInicioActividades, Me.txtEstadoContribuyente, Me.txtCondicionContribuyente, Me.txtDireccion, txtTelefono)
Case eResultadoConsulta.ConsultaSatisfactoria
Me.cmdRefrescar.PerformClick()
Case eResultadoConsulta.RucNoEncontrado
Me.cmdRefrescar.PerformClick()
Me.lblError.Text = "RUC NO ENCONTRADO"
Me.lblError.Visible = True
Me.txtRUC.ResetText()
Case eResultadoConsulta.ErrorDeCaptcha
Me.cmdRefrescar.PerformClick()
Me.lblError.Text = "ERROR DE CAPTCHA"
Me.lblError.Visible = True
Case Else
Me.lblError.Visible = False
End Select
End Sub
Private Sub cmdRefrescar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlescmdRefrescar.Click
Me.pbCapcha.Image = Me.obtieneImagenCaptcha
Me.lblError.Visible = False
Me.txtEscribirCodigo.ResetText()
End Sub
End Class
DESCARGAR AQUI
https://drive.google.com/file/d/0Bwb7OYHoadH7REFzM3pQZFZ0dWM/view?usp=sharing
17 comments:
Disculpa y en c# como se podria cambiar el codigo??...
no tienes la misma consulta pero en c# porfas..
Por favor y en c# como seria el codigo??.. no tienes la misma consulta pero en c#.. porfas...
voy a subir elcodigo en C# y lo voy a publicar en el grupo de face
Tendrás alguna idea de cómo realizarlo con java?
Disculpa tienes el codigo en C#?
aca http://proyectos2017vbnet.azurewebsites.net/menu.aspx hay un proyecto en asp.net con c sharp,
Disculpa el limpiar etiquetas con controles label como seria
en asp.net como haria no me sale.
Solo funciona el formulario de SUNAT el de Reniec envia un error al intentar extraer el CAPTCHA de la pagina... me quede plantado ahi tambien.
da error cuando consultas mas de una vez y vota tiempo de espera agotaado
podrias darme una idea de como hacerlo en delphi, solo logro hacer hasta la captura del captcha y convertirlo en txt, pero en la parte:
xurl:= 'http://www.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias?accion=consPorRuc&nroRuc='+ruc+'&codigo='+ captcha+'&tipdoc=1';
path1:= 'D:\Delphi\RUC\xml1.txt';
urlDownloadToFile(xurl, path1)
retorna error.
Aca tienen un video de como hacerlo en asp.net
https://www.youtube.com/watch?v=Mc4UiEulNIQ&feature=youtu.be
Hola, gracias por el aporte, pero tengo un error
_txtRzSoc.Text = _txtRzSoc.Text.Remove(0, 15)
>>El índice y el recuento deben hacer referencia a una ubicación en la cadena. Nombre del parámetro: count'<<
A que se deberia?
gracias de antemano
Your work is very good and I appreciate you and hopping for some more informative posts
Dot Net Training in Chennai | Dot Net Training in anna nagar | Dot Net Training in omr | Dot Net Training in porur | Dot Net Training in tambaram | Dot Net Training in velachery
Aquí encontré una nueva versión de consulta 2021 https://youtu.be/oGQVTzamTbU
Great post thanks for sharing your blog,I'm glad to see your blog still interested in your article.">Spotify Music Streamer on Roblox
Post a Comment