基本信息
源码名称:c# 获取公网ip 示例源码
源码大小:0.10M
文件格式:.rar
开发语言:C#
更新时间:2014-03-25
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; using System.Net.Mail; using System.Threading; namespace GetIp { class Program { static void Main(string[] args) { string OriginalIp = string.Empty; while (true) { string myIp = string.Empty; try { myIp = GetWebContent("http://www.3322.org/dyndns/getip"); } catch (Exception ex) { Util.Adr_LogManager.WriteLog(Util.LogType.Warning, "获取IP出错:" ex.Message); myIp = string.Empty; } if (myIp != string.Empty && OriginalIp != myIp) { OriginalIp = myIp; Console.Write(DateTime.Now.ToString() " >> 您的IP地址是:" myIp); SendEmail(myIp); } Thread.Sleep(1000 * 60); } ///Console.ReadLine(); } private static string GetWebContent(string sUrl) { string strResult = ""; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sUrl); //声明一个HttpWebRequest请求 request.Timeout = 3000000; //设置连接超时时间 request.Headers.Set("Pragma", "no-cache"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.ToString() != "") { Stream streamReceive = response.GetResponseStream(); Encoding encoding = Encoding.GetEncoding("UTF-8"); StreamReader streamReader = new StreamReader(streamReceive, encoding); strResult = streamReader.ReadToEnd(); } } catch (Exception exp) { strResult = ""; } return strResult; } static void SendEmail(string ip) { MailMessage mail = new MailMessage(); mail.From = new MailAddress( "heuandmei@qq.com", "成都服务器IP地址", Encoding.UTF8); mail.To.Add("heuandmei@qq.com,jekey.sinotop@foxmail.com,271134337@qq.com"); mail.Subject = "成都服务器IP地址变更" DateTime.Now.ToString(); mail.SubjectEncoding = Encoding.Default; mail.Body = "IP地址已变更为:" ip; mail.BodyEncoding = Encoding.Default; mail.IsBodyHtml = false; mail.Priority = MailPriority.Normal; SmtpClient client = new SmtpClient(); client.Host = "smtp.qq.com"; client.Port = 25; //是否使用安全套接字层加密连接 client.EnableSsl = false; //不使用默认凭证,注意此句必须放在 client.Credentials 的上面 client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("heuandmei@qq.com", "meandmei"); //邮件通过网络直接发送到服务器 client.DeliveryMethod = SmtpDeliveryMethod.Network; try { client.Send(mail); Util.Adr_LogManager.WriteLog(Util.LogType.Trace, "发信成功"); } catch (SmtpException ex) { Util.Adr_LogManager.WriteLog(Util.LogType.Trace, "发信失败(1):" ex.Message); } catch (Exception ex) { Util.Adr_LogManager.WriteLog(Util.LogType.Trace, "发信失败(2):" ex.Message); } finally { mail.Dispose(); client = null; } } } }