Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.Net
- Imports System.IO
- Imports System.Text.RegularExpressions
- Imports System.Text
- Imports System.Threading
- Public Class Form1
- Const loginurl As String = "http://haraj.com.sa/login.php"
- Const useragent As String = "Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0"
- Const key_login_pat = "(?<=""key_login""\svalue="").*?(?="")"
- Const postmask = "user={0}&pass={1}&sublogin=1&url=" & "http://haraj.com.sa/" & "&key_login={2}&login=دخــــول+»"
- Dim cookieJar As CookieContainer
- Private Function GetStringResponse(req As HttpWebRequest)
- Using res = req.GetResponse
- Using strm = res.GetResponseStream
- Using rdr = New StreamReader(strm)
- Return rdr.ReadToEnd
- End Using
- End Using
- End Using
- End Function
- Private Function get_keylogin() As String
- cookieJar = New CookieContainer
- Dim req = DirectCast(WebRequest.Create(loginurl), HttpWebRequest)
- req.UserAgent = useragent
- req.CookieContainer = cookieJar
- Return Regex.Match(GetStringResponse(req), key_login_pat).Value
- End Function
- Private Sub UpdateAnnounce(ByVal id As String)
- id = id.Trim
- MsgBox("1: " & id)
- Dim req_announce = DirectCast(WebRequest.Create("http://haraj.com.sa/update2.php?ads_id=" & id), HttpWebRequest)
- req_announce.Method = "POST"
- req_announce.UserAgent = useragent
- req_announce.CookieContainer = cookieJar
- req_announce.Referer = "http://haraj.com.sa/update2.php?ads_id=" & id
- req_announce.ContentType = "application/x-www-form-urlencoded"
- Dim buffer_announce = Encoding.UTF8.GetBytes("ads_id=" & id)
- req_announce.ContentLength = buffer_announce.Length
- Using reqStrm_user = req_announce.GetRequestStream
- reqStrm_user.Write(buffer_announce, 0, buffer_announce.Length)
- End Using
- MsgBox("2: " & id)
- IO.File.WriteAllText("C:\" & id & ".txt", GetStringResponse(req_announce))
- End Sub
- Private Sub LoginAndUpdate(ByVal Username As String, ByVal Password As String)
- Dim keylogin = get_keylogin()
- Dim req = DirectCast(WebRequest.Create(loginurl), HttpWebRequest)
- req.Method = "POST"
- req.UserAgent = useragent
- req.CookieContainer = cookieJar
- req.Referer = loginurl
- req.ContentType = "application/x-www-form-urlencoded"
- Dim buffer = Encoding.UTF8.GetBytes(String.Format(postmask, Username, Password, keylogin))
- req.ContentLength = buffer.Length
- Using reqStrm = req.GetRequestStream
- reqStrm.Write(buffer, 0, buffer.Length)
- End Using
- Dim resp As String = GetStringResponse(req)
- If resp.Contains("تسجيل الخروج") Then
- MessageBox.Show("تم تسجيل الدخول بنجاح" & vbNewLine & "جارى جلب ارقام الاعلانات الخاصة بهذا الحساب", "تم تسجيل الدخول بنجاح", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Dim trads As New Thread(AddressOf GetAnnounces)
- trads.Start()
- Else
- MessageBox.Show("خطأ في اسم الستخدم او كلمة المرور")
- TextBox1.ReadOnly = False
- TextBox2.ReadOnly = False
- Button1.Enabled = True
- End If
- End Sub
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- CheckForIllegalCrossThreadCalls = False
- End Sub
- Private Sub GetAnnounces()
- Dim wc As New WebClient() With {.Encoding = Encoding.Default}
- Dim MC As MatchCollection = Regex.Matches(wc.DownloadString("http://haraj.com.sa/users/" & TextBox1.Text), "(?<=<tr ><td >).*?(?=</td>)", RegexOptions.IgnoreCase)
- For i = 0 To MC.Count - 1
- ListBox1.Items.Add(MC(i).Value)
- Next
- If MC.Count > 0 Then
- MessageBox.Show("تم جلب ارقام الاعلانات بنجاح", "تم بنجاح", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Else
- MessageBox.Show("هذا الحساب لا يحتوى على اعلانات", "لا يوجد اعلانات", MessageBoxButtons.OK, MessageBoxIcon.Warning)
- End If
- End Sub
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- MessageBox.Show("جارى تسجيل الدخول .. يرجى الانتظار قليلًا", "جارى الدخول", MessageBoxButtons.OK, MessageBoxIcon.Information)
- TextBox1.ReadOnly = True
- TextBox2.ReadOnly = True
- Button1.Enabled = False
- Dim tr As New Thread(Sub() LoginAndUpdate(TextBox1.Text, TextBox2.Text))
- tr.Start()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- For i = 0 To ListBox1.Items.Count
- MsgBox(i)
- Dim trUpdate As New Thread(Sub() UpdateAnnounce(ListBox1.Items(i).ToString()))
- trUpdate.Start()
- Do While trUpdate.IsAlive
- Application.DoEvents()
- Loop
- Next
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement