https://www.facebook.com/groups/tecfactory
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
"
Then
Return eResultadoConsulta.ErrorDeCaptcha
End If
Case 61
_txtRzSoc.Text = LineaVerificacionTexto '
20482736450 - EMDERSOFT S.A.C.
Me.quitaEtiquetas(_txtRzSoc)
_txtRzSoc.Text =_txtRzSoc.Text.Remove(0, 15)
Case 63
_txt_tipoemp.Text =LineaVerificacionTexto '
SOCIEDAD ANONIMA CERRADA
Me.quitaEtiquetas(_txt_tipoemp)
Case 66
_txtNomCom.Text = LineaVerificacionTexto
Case 68 + Adicionar
_txtFecIns.Text = LineaVerificacionTexto '
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
Me.quitaEtiquetas(_txtFecIni)
Case 71 + Adicionar
_txtEstCont.Text = LineaVerificacionTexto '
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
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
https://www.facebook.com/groups/tecfactory
DESCARGAR AQUI
https://drive.google.com/file/d/0Bwb7OYHoadH7REFzM3pQZFZ0dWM/view?usp=sharing