天天看點

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

擷取内網IP

 代碼

通過外部網站傳回得到内網外部IP 

C#版

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

static string GetIP()

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

{

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    Uri             uri = new Uri("http://www.ikaka.com/ip/index.asp");

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    System.Net.HttpWebRequest  req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    req.Method          = "POST";

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    req.ContentType     = "application/x-www-form-urlencoded";

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    req.ContentLength   = 0;

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    req.CookieContainer = new System.Net.CookieContainer();

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    req.GetRequestStream().Write(new byte [0], 0, 0);

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)(req.GetResponse());

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    StreamReader    rs  = new StreamReader(res.GetResponseStream(), System.Text.Encoding.GetEncoding("GB18030"));

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    string          s   = rs.ReadToEnd();

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    rs.Close();

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    req.Abort();

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    res.Close();

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]");

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    if (m.Success) return m.Groups["IP"].Value;

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    return string.Empty;

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

}

VB.NET 版

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

Function GetIP() As String 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim Cookies As Net.CookieContainer = Nothing 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim httpurl As String = "http://www.ikaka.com/ip/index.asp" 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim code As String = "GB2312" 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim Url As New System.Uri(httpurl) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim SomeByte() As Byte = System.Text.Encoding.ASCII.GetBytes("") 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim req As Net.HttpWebRequest = CType(Net.WebRequest.Create(Url), Net.HttpWebRequest) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        req.Method = "POST" 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        req.ContentType = "application/x-www-form-urlencoded" 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        req.ContentLength = 0 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)
擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        If Not (Cookies Is Nothing) Then 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

            req.CookieContainer = Cookies 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Else 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

            req.CookieContainer = New Net.CookieContainer 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

            Cookies = req.CookieContainer 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        End If 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        req.GetRequestStream.Write(SomeByte, 0, SomeByte.Length) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim res As Net.HttpWebResponse = CType(req.GetResponse, Net.HttpWebResponse) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim ReadStream As IO.StreamReader = New IO.StreamReader(res.GetResponseStream, System.Text.Encoding.GetEncoding(code)) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim strLine As String 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim getstr As String 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Do 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

            strLine = ReadStream.ReadLine 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

            getstr &= strLine & vbCrLf 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Loop Until strLine Is Nothing 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        ReadStream.Close() 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        req.Abort() 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        res.Close() 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim reg As New System.Text.RegularExpressions.Regex("<span class=""en"">IP:\[(?<ipstr>.*)?\]\s*</span>", System.Text.RegularExpressions.RegexOptions.IgnoreCase) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        Dim m As System.Text.RegularExpressions.Match 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        m = reg.Match(getstr) 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

        If m.Success Then Return m.Groups("ipstr").Value.ToString 

擷取内網、通過外部網站傳回得到内網外部IP (C#/VB.NET)

    End Function