10 tháng 7 2020

[Visual Basic] Code Get List Proxy Web

Hi mọi người, hôm nay Hùng Coder xin chia sẽ một thủ thuật mới cho mọi người, thủ thuật này thì đơn giản không phúc tạp như mọi người nghĩ đâu. Đơn giản nó chỉ là một chương trình do Hùng viết ra để lấy toàn bộ địa chỉ Proxy trên trang web và lưu lại cho mọi người :D và nó có 1 lợi ích đó là có thể check luôn PROXY đó load NHANH hay CHẬM cho mọi người :D


Qua hình ảnh trên bản cảm thấy thế nào :D rất đơn giản phải không :D
Đây là toàn bộ mã nguồn của nó, mình chia sẽ cho mọi người có thể kiểm tra thoải mái :D

Imports System.Net
Imports System.Text.RegularExpressions
Imports System.Threading
Imports System.Windows.Forms
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim webc As New WebClient
            webc.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0")
            Dim src As String = webc.DownloadString(TextBox1.Text)
            Dim reg As Regex = New Regex("[0-9]*?\.[0-9]*?\.[0-9]*?\.[0-9]+")
            Dim IPs As MatchCollection = reg.Matches(src)
            Dim IPList As New List(Of String)
            For Each Match In IPs
                IPList.Add(Match.ToString)
            Next
            IPList = IPList.Distinct.ToList
            For Each item As String In IPList
                Dim col(1) As String
                col(0) = item
                col(1) = ""
                Dim lvi As ListViewItem = New ListViewItem(col)
                ListView1.Items.Add(lvi)

            Next
        Catch ex As Exception
            MessageBox.Show("Bạn Chưa Nhập Địa Chỉ Trang Web Cần Get IP", "Thông Báo")
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ListView1.Columns.Add("IP", 100)
        ListView1.Columns.Add("Status", 100)
        ListView1.View = View.Details
        ListView1.GridLines = True
        ListView1.FullRowSelect = True
    End Sub

    Sub CheckProxy(ByVal ProxyIP As String)
        Try
            Dim k As New WebProxy(ProxyIP)
            k.BypassProxyOnLocal = True
            Dim request As HttpWebRequest = CType(WebRequest.Create("http://www.ipchicken.com/"), HttpWebRequest)
            request.Proxy = k
            request.Timeout = 5000
            Dim response As HttpWebResponse = request.GetResponse()
            Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
            Output("GOOD" & ":" & CurList.IndexOf(ProxyIP))
        Catch ex As Exception
            Output("BAD" & ":" & CurList.IndexOf(ProxyIP))
        End Try
    End Sub

    Sub Output(ByVal status As String)
        If ListView1.InvokeRequired Then
            ListView1.Invoke(New Action(Of String)(AddressOf Output), status)
        Else
            Dim int As Integer = status.Split(":").GetValue(1)
            status = status.Split(":").GetValue(0)
            ListView1.Items(int).SubItems(1).Text = status
        End If
    End Sub
    Dim CurList As New List(Of String)
    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)


    End Sub
    Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = MouseButtons.Right Then
            If ListView1.SelectedItems.Count > -1 Then
                ContextMenuStrip1.Show(MousePosition)
            End If
        End If
    End Sub
    Private Sub CHECKEDALLIPToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CHECKEDALLIPToolStripMenuItem.Click
        CurList.Clear()
        For Each item As ListViewItem In ListView1.Items
            CurList.Add(item.SubItems(0).Text)
            ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf CheckProxy), item.SubItems(0).Text)
        Next
    End Sub

    Private Sub CLEARBADIPToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CLEARBADIPToolStripMenuItem.Click
        Dim goodlist As New List(Of ListViewItem)
        For Each item As ListViewItem In ListView1.Items
            If item.SubItems(1).Text = "GOOD" Then
                goodlist.Add(item)
            End If
        Next
        ListView1.Items.Clear()

        For Each item In goodlist
            ListView1.Items.Add(item)
        Next
    End Sub
    '  Dim save As New IO.StreamWriter(ListView1)
    Private saveip As String = Application.StartupPath & "\ip.txt"
    Private Sub SAVELISTIPGOODToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SAVELISTIPGOODToolStripMenuItem.Click
        Dim myWriter As New IO.StreamWriter(saveip)
        For Each myItem As ListViewItem In ListView1.Items
            myWriter.WriteLine(myItem.Text & "#" & myItem.SubItems(1).Text)
        Next
        myWriter.Close()
    End Sub
End Class

VIDEO DEMO



Trong đoạn code các bạn chỉ cần thêm vào 1 textbox, 1 button, 1 listview, 1 StatusStrip1 thế là xong :D

DOWNLOAD

Bạn nào cần test thử tools này thì để lại email mình send pass cho nhé. :D minh không chia sẽ vì có 1 số phần tử lợi dụng làm chuyện xấu.
Rated 4.3/5 based on 9 votes

2 nhận xét: