全球彩票平台_全球彩票注册平台|官网下载地址

热门关键词: 全球彩票平台,全球彩票注册平台,全球彩官网下载地址

获取本机IP地址,JS不能跨域借助jquery获取IP地址

C 代码样例

直接以来,好像向来不一段正式的代码能提供Android设备此时的IP地址,究其原因,Android设备的网卡恐怕不止三个,如蜂窝网卡、WiFi网卡,而且同一个网卡也或者持有持续贰个IP地址。基于此,二个Android终端很有相当大希望还要持有五个IP地址(不只是同期兼有IPv4和IPv6地址),比方敞开火爆共享蜂窝网络的时候,蜂窝网卡具备三个IPv4地址来做客外网,WiFi网卡具有二个IPv4地址来作为内网的网关。

获得本机全体IP地址:

string name = Dns.GetHostName();
IPAddress[] ipadrlist = Dns.GetHostAddresses(name);

         那一个地方是含有全数网卡(虚构网卡)的ipv4和ipv6地址。

您或许感兴趣的小说:

  • Python脚本达成网卡流量监察和控制
  • python监控网卡流量并动用graphite绘图的身先士卒
  • python使用WMI质量评定windows系统音信、硬盘音信、网卡音讯的主意
  • Linux服务器网卡流量查看方法 shell和Python各一枚
  • python简单取得本机计算机名和IP地址的格局
  • python获取外网ip地址的法子总括
  • python获取本机mac地址和ip地址的主意
  • 全球彩票平台,Python获取Linux系统下的本机IP地址代码分享
  • python在Windows8下得到本机ip地址的不二法门
  • Python2.7基于Taobao接口获取IP地址所在地理地方的办法【测量试验可用】
  • Python简单获得网卡名称及其IP地址的秘技【基于psutil模块】

赢得IP地址,JS也得以收获顾客端IP地址啦,我们领略JS无法跨域,所以那边借助了jquery,真的能够完结获取IP地址,代码如下,已经过测量检验:

简介

在Socket编制程序的时候,大家供给实时获取大家所急需的IP地址。比如在编辑后门的时候,大家可能须求获得有效的外网IP或内网IP;有时候大家也许须求剖断大家获取的是或不是是虚构机网卡,那时候就需求对每一张网卡上的脾性进行辨别。以下作者总括了一些常用的处理办法供大家参谋。


参谋资料:1. 领取网卡音讯格局
              2. 虚构与物理网卡区分方法

英特网相比流行的取得Android设备IP地址的代码有以下二种,上面大家来千家万户解析一下。

获取本机全数IPV4地址:

string name = Dns.GetHostName();
IPAddress[] ipadrlist = Dns.GetHostAddresses(name);
foreach (IPAddress ipa in ipadrlist)
{
            if (ipa.AddressFamily == AddressFamily.InterNetwork)
            Console.Writeline(ipa.ToString());
}

        若要单单获取ipv4地址,能够用IPAdress.AddressFamily 属性剖断:对于 IPv4,再次来到 InterNetwork;对于 IPv6,重临 InterNetworkV6。

        然则只要本机大概有八个ipv4的地点,那怎样赢得访谈暗许网关时使用的网卡IP呢。在CSDN论坛找到了大神的艺术,用的是查询本机路由表。

获得本机正在采用的ipv4地址(访谈网络的IP),可别小看,依然有过多亟待考虑的:
1.三个计算机有四个网卡,有线的、有线的、还应该有vmare虚构的多个网卡。
2.即使唯有三个网卡,但是该网卡配置了N个IP地址.个中还饱含ipv6地址。

上边贴贰个小编直接利用的法门,它经过询问本机路由表,获取访谈暗中认可网关时使用的网卡IP。
用了2年了,屡试不爽。

      /// <summary>
        /// 获取当前使用的IP
        /// </summary>
        /// <returns></returns>
        public static string GetLocalIP()
        {
            string result = RunApp("route", "print",true);
            Match m = Regex.Match(result, @"0.0.0.0s 0.0.0.0s (d .d .d .d )s (d .d .d .d )");
            if (m.Success)
            {
                return m.Groups[2].Value;
            }
            else
            {
                try
                {
                    System.Net.Sockets.TcpClient c = new System.Net.Sockets.TcpClient();
                    c.Connect("www.baidu.com", 80);
                    string ip = ((System.Net.IPEndPoint)c.Client.LocalEndPoint).Address.ToString();
                    c.Close();
                    return ip;
                }
                catch (Exception)
                {
                    return null;
                }
            }
        }

        /// <summary>
        /// 获取本机主DNS
        /// </summary>
        /// <returns></returns>
        public static string GetPrimaryDNS()
        {
            string result = RunApp("nslookup", "",true);
            Match m = Regex.Match(result, @"d .d .d .d ");
            if (m.Success)
            {
                return m.Value;
            }
            else
            {
                return null;
            }
        }

        /// <summary>
        /// 运行一个控制台程序并返回其输出参数。
        /// </summary>
        /// <param name="filename">程序名</param>
        /// <param name="arguments">输入参数</param>
        /// <returns></returns>
        public static string RunApp(string filename, string arguments,bool recordLog)
        {
            try
            {
                if (recordLog)
                {
                    Trace.WriteLine(filename   " "   arguments);
                }
                Process proc = new Process();
                proc.StartInfo.FileName = filename;
                proc.StartInfo.CreateNoWindow = true;
                proc.StartInfo.Arguments = arguments;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.UseShellExecute = false;
                proc.Start();

                using (System.IO.StreamReader sr = new System.IO.StreamReader(proc.StandardOutput.BaseStream, Encoding.Default))
                {
                    //string txt = sr.ReadToEnd();
                    //sr.Close();
                    //if (recordLog)
                    //{
                    //    Trace.WriteLine(txt);
                    //}
                    //if (!proc.HasExited)
                    //{
                    //    proc.Kill();
                    //}
                    //上面标记的是原文,下面是我自己调试错误后自行修改的
                    Thread.Sleep(100);           //貌似调用系统的nslookup还未返回数据或者数据未编码完成,程序就已经跳过直接执行
                                                 //txt = sr.ReadToEnd()了,导致返回的数据为空,故睡眠令硬件反应
                    if (!proc.HasExited)         //在无参数调用nslookup后,可以继续输入命令继续操作,如果进程未停止就直接执行
                    {                            //txt = sr.ReadToEnd()程序就在等待输入,而且又无法输入,直接掐住无法继续运行
                        proc.Kill();
                    }
                    string txt = sr.ReadToEnd();
                    sr.Close();
                    if (recordLog)
                        Trace.WriteLine(txt);
                    return txt;
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex);
                return ex.Message;
            }
        }

大神代码源自帖子:

       

另有一种格局通过用ipconfig来获得:

private void GetIP()  
    {  
        Process cmd = new Process();  
        cmd.StartInfo.FileName = "ipconfig.exe";//设置程序名   
        cmd.StartInfo.Arguments = "/all";  //参数   
 //重定向标准输出   
        cmd.StartInfo.RedirectStandardOutput = true;  
        cmd.StartInfo.RedirectStandardInput = true;  
        cmd.StartInfo.UseShellExecute = false;  
        cmd.StartInfo.CreateNoWindow = true;//不显示窗口(控制台程序是黑屏)   
 //cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//暂时不明白什么意思   
        /* 
 收集一下 有备无患 
        关于:ProcessWindowStyle.Hidden隐藏后如何再显示? 
        hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName); 
        Win32Native.ShowWindow(hwndWin32Host, 1);     //先FindWindow找到窗口后再ShowWindow 
        */  
        cmd.Start();  
        string info = cmd.StandardOutput.ReadToEnd();  
        cmd.WaitForExit();  
        cmd.Close();  
        textBox1.AppendText(info);  
    }

全球彩票平台 1

那儿就要本身入手看如何截取了。可参谋上面大神怎样用正则说明式来协作。

如上正是本文关于Python获取本机全体网卡ip,掩码和播音地址实例代码的全体内容,希望对我们全数扶助。感兴趣的恋人能够继续参照本站其余有关专项论题,如有不足之处,接待留言建议。多谢朋友们对本站的支撑!

你或者感兴趣的小说:

  • Android手提式有线电话机获取IP地址的三种艺术
  • Linux下Python获取IP地址的代码
  • PowerShell脚本完结网卡DHCP自动获取IP地址、设置静态IP地址的法门
  • js获取IP地址的措施小结
  • java获得ip地址示例
  • java中通过网卡名称获取IP地址
  • asp下比较健全的拿走IP地址的代码
  • 在InstallShield中经过主机名获取IP地址的代码
  • 安卓 得到手提式有线电话机IP地址的贯彻代码

本文由全球彩票平台发布于全球彩票平台操作系统,转载请注明出处:获取本机IP地址,JS不能跨域借助jquery获取IP地址

TAG标签: 全球彩票平台
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。