04-04-16, 03:55 AM
(آخر تعديل لهذه المشاركة : 04-04-16, 04:14 AM {2} بواسطة silverlight.)
PHP كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
Dim awaiter = Task.Run(Of String)(New Func(Of String)(Function() getWiki(TextBox1.Text))).GetAwaiter()
While Not awaiter.IsCompleted
Application.DoEvents()
Dim awaiterResult As String = awaiter.GetResult()
RichTextBox1.Text = If(String.IsNullOrWhiteSpace(awaiterResult), "لا توجد نتائج لما تبحث عنه", awaiterResult)
Button1.Enabled = True
End While
End Sub
Private Function getWiki(ByVal Q As String) As String
lock.EnterReadLock()
Try
Dim req As HttpWebRequest = WebRequest.Create("https://www.google.com.kw/search?q=" & Q)
req.Method = "GET"
req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
req.CookieContainer = New CookieContainer
Using res = req.GetResponse()
Using resStrm = res.GetResponseStream()
Using rdr = New StreamReader(resStrm)
Dim ResponseString As String = rdr.ReadToEnd().Replace(Chr(10), " ")
Dim PictureM As Match = Regex.Matches(ResponseString, "_image_src='data:image/(.+?);base64,(.+?)'", RegexOptions.IgnoreCase)(0)
File.WriteAllText(".\abc.txt", PictureM.Value)
Dim bytes() As Byte = Convert.FromBase64String(PictureM.Groups(2).Value)
If Not Directory.Exists(".\pictures\") Then Directory.CreateDirectory(".\pictures\")
File.WriteAllBytes(".\pictures\mm." & PictureM.Groups(1).Value, bytes)
PictureBox1.Image = Image.FromFile(".\pictures\mm." & PictureM.Groups(1).Value)
Return Regex.Match(ResponseString, ";""><span>(.+?)</span>.+?fl q _KCd _tWc", RegexOptions.IgnoreCase).Groups(1).Value
End Using
End Using
End Using
Catch ex As WebException
Return "An error occured." & vbNewLine & ex.Message
Finally
lock.ExitReadLock()
End Try
End Function
PHP كود :
Private lock As ReaderWriterLockSlim = New ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion)

