hallo,
ich habe bei mir eine komischen Vorkommnis entdeckt.
Also ich will Proxys mit Ports suchen. Dies mache ich mit einem Textfile, die ich in einer Listbox lade. Diese lasse ich dann seite für Seite durchlaufen, und wenn das Formular komplett geladen worden ist, soll er den Inhalt auf Proxys suchen. Doch er lädt gleich alle Seiten, bzw. es wird mir so angezeigt. und sucht erst dann die Proxys... was ja eig. gar nicht gehen kann, weil nur am schluss die letzte (oder die erste?) Seite geladen worden ist oder?
Aufbau:
2x Listboxen - 1x für die Proxys und 1x für die Webseiten
1x Progressbar
2x Buttons - 1x Proxy und 1x load
4x Labels - 2x für anzeigen der gefundenen Proxys und 2x (eigentlich) für den Momentanen Stand, wieviele URL's schon abgearbeitet wurden
hier mal mein Code:
Er zeigt mit z.B. bei den Labels an, das alle Seiten durchlaufen worden ist, doch dann arbeitet die Progressbar weiter und es dauert auch ein bisschen länger, bis die Proxys zur liste hinzugefügt worden sind
ich habe bei mir eine komischen Vorkommnis entdeckt.
Also ich will Proxys mit Ports suchen. Dies mache ich mit einem Textfile, die ich in einer Listbox lade. Diese lasse ich dann seite für Seite durchlaufen, und wenn das Formular komplett geladen worden ist, soll er den Inhalt auf Proxys suchen. Doch er lädt gleich alle Seiten, bzw. es wird mir so angezeigt. und sucht erst dann die Proxys... was ja eig. gar nicht gehen kann, weil nur am schluss die letzte (oder die erste?) Seite geladen worden ist oder?
Aufbau:
2x Listboxen - 1x für die Proxys und 1x für die Webseiten
1x Progressbar
2x Buttons - 1x Proxy und 1x load
4x Labels - 2x für anzeigen der gefundenen Proxys und 2x (eigentlich) für den Momentanen Stand, wieviele URL's schon abgearbeitet wurden
hier mal mein Code:
VB.NET-Quellcode
- Imports System.Text.RegularExpressions
- Imports System.Threading.Thread
- Public Class Form1
- Dim myThread As Threading.Thread
- Delegate Sub Pro(ByVal address As String)
- Sub run() 'Webseiten sollen durchlaufen werden
- Dim e As Integer = ListBox2.Items.Count
- Dim f As Integer = 0
- If ListBox2.Items IsNot Nothing Then
- ProgressBar1.Maximum = ListBox2.Items.Count - 1
- For i As Integer = 0 To ListBox2.Items.Count - 1
- WebBrowser1.Navigate(New Uri(ListBox2.Items(i)))
- f += 1
- If i = ListBox2.Items.Count - 1 Then
- MessageBox.Show("Finish!")
- End If
- ProgressBar1.Value = i
- Label5.Text = "Current " & f & "/" & e
- Next
- Else
- MessageBox.Show("First load a File!")
- End If
- End Sub
- Sub Prox(ByVal address As String) ' Proxys sollen gefiltert werden und in einer Listbox geladen werden
- Dim MC As MatchCollection
- Dim Results As New List(Of String) 'Res als List
- Dim Curr As String = ""
- Dim e As Integer = ListBox2.Items.Count
- Dim f As Integer = 0
- MC = Regex.Matches(WebBrowser1.Document.Body.InnerText, "([0-9]{4}|[0-9]{3}|[0-9]{2}|[0-9])\.([0-9]{4}|[0-9]{3}|[0-9]{2}|[0-9])\.([0-9]{4}|[0-9]{3}|[0-9]{2}|[0-9])\.([0-9]{4}|[0-9]{3}|[0-9]{2}|[0-9]):([0-9]{5}|[0-9]{4}|[0-9]{3}|[0-9]{2}|[0-9])", RegexOptions.IgnoreCase)
- ProgressBar1.Maximum = MC.Count
- For i As Integer = 0 To MC.Count - 1 'Schleife durchlaufen
- ProgressBar1.Value = i
- If Results.Contains(MC(i).Value) = False Then
- Label1.Text = "Loading Proxys!"
- Curr = MC(i).Value.ToString
- ListBox1.Items.Add(Curr) 'Übereinstimmungen in der ListBox eintragen
- End If
- Next
- Label1.Text = "Finished!"
- Label3.Text = ListBox1.Items.Count
- End Sub
- Private Sub load_Click(sender As Object, e As EventArgs) Handles load.Click 'hier werden die URL's der Webseiten geladen
- If OpenFileDialog1.ShowDialog = DialogResult.OK Then
- Label1.Text = "Loading Textfile ..."
- Dim c() As String = System.IO.File.ReadAllLines(OpenFileDialog1.FileName)
- ProgressBar1.Maximum = c.Count
- For Each d In c
- ProgressBar1.Value += 1
- ListBox2.Items.Add(d)
- Next
- Label1.Text = "Textfile loaded!"
- End If
- End Sub
- Private Sub Proxy_Click(sender As Object, e As EventArgs) Handles Proxy.Click 'die Sub wird aufgerufen: run
- Call run()
- End Sub
- Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted ' Prox wird ausgeführt
- Dim msd As Pro = AddressOf Prox
- msd.Invoke(WebBrowser1.Document.Body.InnerText)
- End Sub
- End Class
Er zeigt mit z.B. bei den Labels an, das alle Seiten durchlaufen worden ist, doch dann arbeitet die Progressbar weiter und es dauert auch ein bisschen länger, bis die Proxys zur liste hinzugefügt worden sind
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ctextrem“ ()