staticstring GetIP() { Uri uri =new Uri("http://www.ikaka.com/ip/index.asp"); System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri); req.Method ="POST"; req.ContentType ="application/x-www-form-urlencoded"; req.ContentLength =0; req.CookieContainer =new System.Net.CookieContainer(); req.GetRequestStream().Write(newbyte [0], 0, 0); System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)(req.GetResponse()); StreamReader rs =new StreamReader(res.GetResponseStream(), System.Text.Encoding.GetEncoding("GB18030")); string s = rs.ReadToEnd(); rs.Close(); req.Abort(); res.Close(); System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(s, @"IP:\[(?<IP>[0-9\.]*)\]"); if (m.Success) return m.Groups["IP"].Value; returnstring.Empty; }
VB.NET 版
Function GetIP() AsString Dim Cookies As Net.CookieContainer =Nothing Dim httpurl AsString="http://www.ikaka.com/ip/index.asp" Dim code AsString="GB2312" Dim Url AsNew System.Uri(httpurl) Dim SomeByte() AsByte= System.Text.Encoding.ASCII.GetBytes("") Dim req As Net.HttpWebRequest =CType(Net.WebRequest.Create(Url), Net.HttpWebRequest) req.Method ="POST" req.ContentType ="application/x-www-form-urlencoded" req.ContentLength =0 IfNot (Cookies IsNothing) Then req.CookieContainer = Cookies Else req.CookieContainer =New Net.CookieContainer Cookies = req.CookieContainer EndIf req.GetRequestStream.Write(SomeByte, 0, SomeByte.Length) Dim res As Net.HttpWebResponse =CType(req.GetResponse, Net.HttpWebResponse) Dim ReadStream As IO.StreamReader =New IO.StreamReader(res.GetResponseStream, System.Text.Encoding.GetEncoding(code)) Dim strLine AsString Dim getstr AsString Do strLine = ReadStream.ReadLine getstr &= strLine & vbCrLf LoopUntil strLine IsNothing ReadStream.Close() req.Abort() res.Close() Dim reg AsNew System.Text.RegularExpressions.Regex("<span class=""en"">IP:\[(?<ipstr>.*)?\]\s*</span>", System.Text.RegularExpressions.RegexOptions.IgnoreCase) Dim m As System.Text.RegularExpressions.Match m = reg.Match(getstr) If m.Success ThenReturn m.Groups("ipstr").Value.ToString End Function