用google检索email

 
返加网页
 Public Function Login(ByVal Url As String, ByVal Params As String) As String
        Dim strResult As String = getPageByPost(Url, Params)
        Return strResult
    End Function

    Public Function getPageByPost(ByVal url As String, ByVal payload As String, Optional ByVal needEncode As Boolean = False) As String
        Dim result As HttpWebResponse
        Dim strResult As String = ""
        Try
            Dim req As HttpWebRequest
            Dim RequestStream As Stream
            Dim ReceiveStream As Stream
            Dim encode As Encoding
            Dim sr As StreamReader

            req = CType(WebRequest.Create(url), HttpWebRequest)
            req.Method = "POST"
            req.ContentType = "application/x-www-form-urlencoded"
            req.CookieContainer = New CookieContainer
            req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461; .NET CLR 1.0.3705)"

            If Not Me.Cookies Is Nothing Then
                req.CookieContainer.Add(New Uri(url), Me.Cookies)
            End If


            Dim SomeBytes() As Byte
            Dim UrlEncoded As New StringBuilder
            Dim reserved() As Char = {ChrW(63), ChrW(61), ChrW(38)}

            If payload <> Nothing Then
                If needEncode Then '有些网站encode后反而出现中文乱码所以加上这个开关
                    Dim i As Integer = 0
                    Dim j As Integer
                    While i < payload.Length
                        j = payload.IndexOfAny(reserved, i)
                        If j = -1 Then

                            UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, payload.Length - i)))
                            Exit While
                        End If
                        UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, j - i)))
                        UrlEncoded.Append(payload.Substring(j, 1))
                        i = j + 1
                    End While
                    SomeBytes = System.Text.Encoding.ASCII.Default.GetBytes(UrlEncoded.ToString())
                Else
                    SomeBytes = System.Text.Encoding.ASCII.Default.GetBytes(payload)
                End If
                req.ContentLength = SomeBytes.Length
                RequestStream = req.GetRequestStream()
                RequestStream.Write(SomeBytes, 0, SomeBytes.Length)
                RequestStream.Close()
            Else
                req.ContentLength = 0
            End If
            'result.Cookies = New CookieCollection
            result = CType(req.GetResponse(), HttpWebResponse)


            ReceiveStream = result.GetResponseStream()
            encode = System.Text.Encoding.ASCII.Default
            sr = New StreamReader(ReceiveStream, encode)

            Dim read(256) As Char
            Dim count As Integer = sr.Read(read, 0, 256)

            Do While count > 0
                strResult &= New String(read, 0, count)
                count = sr.Read(read, 0, 256)
            Loop
            Me.Cookies = req.CookieContainer.GetCookies(New Uri(url))

        Catch Exc As Exception

            Debug.Write(Exc.Message)
        Finally

            If Not result Is Nothing Then
                result.Close()
            End If

        End Try
        Return strResult
    End Function
    Public Function getPageByUrl(ByVal url As String) As String
        Dim result As HttpWebResponse
        Dim strResult As String = ""
        Try
            Dim req As HttpWebRequest

            Dim ReceiveStream As Stream
            Dim encode As Encoding
            Dim sr As StreamReader

            req = CType(WebRequest.Create(url), HttpWebRequest)

            req.Method = "GET"

            req.CookieContainer = New CookieContainer
            req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461; .NET CLR 1.0.3705)"

            If Not Me.Cookies Is Nothing Then
                req.CookieContainer.Add(New Uri(url), Me.Cookies)
            End If

            result = CType(req.GetResponse(), HttpWebResponse)


            ReceiveStream = result.GetResponseStream()
            encode = System.Text.Encoding.ASCII.Default
            sr = New StreamReader(ReceiveStream, encode)

            Dim read(256) As Char
            Dim count As Integer = sr.Read(read, 0, 256)

            Do While count > 0
                strResult &= New String(read, 0, count)
                count = sr.Read(read, 0, 256)
            Loop
            Me.Cookies = req.CookieContainer.GetCookies(New Uri(url))
        Catch Exc As Exception


        Finally

            If Not result Is Nothing Then
                result.Close()
            End If

        End Try
        Return strResult
    End Function


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Function GetSource(ByVal url As String) As String
        Try
            Dim httpReq As System.Net.HttpWebRequest 'HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持',也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
            Dim httpResp As System.Net.HttpWebResponse ' HttpWebResponse 类用于生成发送 HTTP 请求和接收 HTTP 响'应的 HTTP 独立客户端应用程序。
            Dim httpURL As New System.Uri(url)
            httpReq = CType(WebRequest.Create(httpURL), HttpWebRequest)
            httpReq.Method = "GET"
            httpResp = CType(httpReq.GetResponse(), HttpWebResponse)
            Dim reader As StreamReader = _
            New StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding("GB2312")) '如是中文,要设置编码格式为“GB2312”。
            Dim respHTML As String = reader.ReadToEnd() 'respHTML就是网页源代码
            Return respHTML
            httpResp.Close()
        Catch e As Exception
            Console.WriteLine("GetSource出现问题:{0},{1}", e.Message, url)
        End Try
    End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

        txtHTML.Text = getPageByUrl("http" & "://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&q=" & txt.Text.Trim & "&meta=" & "start=" & cbo.Text.Trim)


网址加入google +mytext

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
返回email
 ' Dim strRegex As String = "[\w-]+@([\w-]+\.)+[\w-]+" 'email
        Dim strRegex As String = "[a-zA-Z0-9\-]+@([\w-]+\.)+[a-zA-Z0-9\-]+" 'email

        ' Dim strRegex As String = "[a-zA-Z0-9_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)"
        '[a-zA-Z0-9_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;


        '这就是表达式':“^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$”
        Dim r As System.Text.RegularExpressions.Regex
        Dim m As System.Text.RegularExpressions.MatchCollection
        r = New System.Text.RegularExpressions.Regex(strRegex, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
        m = r.Matches(txtHTML.Text)
        Dim i As Integer
        Dim ddd As String
        'ListBox1.Items.Clear()

        For i = 0 To m.Count - 1
            'ddd = ddd & m(i).Value
            ListBox1.Items.Add(m(i).Value)

            '  Fdorm1.DefInstance.ListBox1.Items.Add(m(i).Value) 'form1.DefInstance是form1的共享属性和实例
        Next i





posted on 2007-04-29 13:58  奇远  阅读(487)  评论(24编辑  收藏  举报

导航