Captcha + cookie
Olá, não sou bom com plataforma .NET, ainda trabalho com ASP Clássico, gostaria de saber se tem como converter este código VB.NET em uma página asp.net? por onde eu começo?
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Form1
Private PackCookies As New CookieContainer()
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
CarregarCaptcha()
End Sub
Private Sub CarregarCaptcha()
TxtNome.Text = "-"
TxtStatus.Text = "-"
Dim request As HttpWebRequest = HttpWebRequest.Create("http://www.receita.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image")
request.ContentType = "application/x-www-form-urlencoded"
request.CookieContainer = New CookieContainer()
Dim response As HttpWebResponse = request.GetResponse()
For Each tempCookie As Net.Cookie In response.Cookies
If tempCookie.Name = "cookieCaptcha" Then
PackCookies.Add(tempCookie)
End If
Next
Dim stream As IO.Stream = response.GetResponseStream()
CampoPicture.Image = Image.FromStream(stream)
End Sub
Private Sub BtnConsultar_Click(sender As System.Object, e As System.EventArgs) Handles BtnConsultar.Click
Dim CCPF, CCaptcha As String
CCPF = CampoCPF.Text
CCPF = CCPF.Replace(".", "")
CCPF = CCPF.Replace(",", "")
CCPF = CCPF.Replace("-", "")
CCaptcha = CampoCaptcha.Text
If CCPF = "" Then
MessageBox.Show("Preencha o CPF!")
ElseIf CCaptcha = "" Then
MessageBox.Show("Preencha o Captcha!")
Else
Dim byteArray As Byte() = Encoding.UTF8.GetBytes("txtCPF=" & CCPF & "&idLetra=" & CCaptcha & "&Enviar=Consultar")
Dim request As HttpWebRequest = HttpWebRequest.Create("http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublica.asp")
request.ContentType = "application/x-www-form-urlencoded"
request.CookieContainer = PackCookies
request.Method = "POST"
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
Dim webBrowser As New WebBrowser()
Dim myHTML As String = responseFromServer
webBrowser.DocumentText = myHTML
webBrowser.ScriptErrorsSuppressed = True
AddHandler webBrowser.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf ManipulaRetornoRF)
reader.Close()
dataStream.Close()
response.Close()
End If
End Sub
Private Sub ManipulaRetornoRF(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
Dim webBrowserForPrinting As WebBrowser = CType(sender, WebBrowser)
Dim NNome, NStatus, FNome, FStatus As String
Dim ANome, AStatus As Array
Dim doc As HtmlDocument = webBrowserForPrinting.Document
If doc.Body.InnerHtml.Contains("Comprovante emitido") Then
NNome = doc.GetElementsByTagName("span").Item(5).InnerHtml
ANome = NNome.Split(":")
FNome = Trim(ANome(1))
NStatus = doc.GetElementsByTagName("span").Item(6).InnerHtml
AStatus = NStatus.Split(":")
FStatus = Trim(AStatus(1))
TxtNome.Text = FNome
TxtStatus.Text = FStatus
Else
MessageBox.Show("Dados inválidos!")
TxtNome.Focus()
CarregarCaptcha()
End If
End Sub
Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
Sobre.ShowDialog()
End Sub
End Class
Discussão (2)
Carregando comentários...