13 在C#中如何获得IP地址

首先需要添加命名空间

using System.Net.NetworkInformation;
using System.Net.Sockets;

下面是详细代码

        GetPrivateIP();
        string publicIP = GetPublicIP();
        Console.WriteLine("Public IP is: {0}", publicIP);

		//获取公共网络IP地址
        static string GetPublicIP()
        {
            String address = "";
            WebRequest request = WebRequest.Create("http://checkip.dyndns.org/");
            using (WebResponse response = request.GetResponse())
            using (StreamReader stream = new StreamReader(response.GetResponseStream()))
            {
                address = stream.ReadToEnd();
            }

            // 从html页面中查找IP地址
            int first = address.IndexOf("Address: ") + 9;
            int last = address.LastIndexOf("</body>");
            address = address.Substring(first, last - first);

            return address;
        }
		//获取私有IP地址
		static void GetPrivateIP()
        {

            foreach (var interfaces in NetworkInterface.GetAllNetworkInterfaces())
            {
                foreach (var address in interfaces.GetIPProperties().UnicastAddresses)
                {
                    if (address.Address.AddressFamily == AddressFamily.InterNetwork)
                    {
                        Console.WriteLine("IP Address:  " + address.Address.ToString());
                    }
                }
            }
        }

13 在C#中如何获得IP地址

时间: 2024-08-25 20:48:57

13 在C#中如何获得IP地址的相关文章

再论 ASP.NET 中获取客户端IP地址

说到IP获取无非是我们常见的以下几种方式,但是具体获取的值具体区别在哪?网上不乏相关文章,说的也是很详细,但是真正使用起来,还有很多不太对的地方.IP在不同系统中,应用相当广泛,常见的日志记录.广告分区域投放等. 1: HttpContext.Current.Request.ServerVariables["HTTP_VIA"]; 2: HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"

awk -F选项同时指定多个符号做为分割符时遇到空格坑,题目:请执行命令取出 linux 中 eth0 的 IP 地址

第三关课前考试题:3.请执行命令取出 linux 中 eth0 的 IP 地址(请用 cut,有能力者也可分别用 awk,sed 命令答) 因为以前有个题讲过awk -F选项可以指定输入分割符,也可以同时使用多个符号作为分割符对文件进行切割,所以我决定先使用awk -F 以前awk -F同时指定多个分割符的例子: [[email protected] ~]# cat oldboy.txt I am oldboy,myqq is 31333741 [[email protected] ~]# aw

提取linux中eth0的IP地址

法1:cut [[email protected] oldboy]# ifconfig eth0|grep 'inet addr'|cut -d ":" -f2|cut -d " " -f1 10.0.0.162 法2:awk [[email protected] oldboy]# ifconfig eth0|grep 'inet addr'|awk -F ":" '{print $2}'|awk '{print $1}' 10.0.0.162

在linux中设置静态ip地址

在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[[email protected] 桌面]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0  #设备名称TYPE=Ethernet #网络类型UUID=bfafdad5-e1c9-4adf-864b-c772e4965ab7ONBOOT=

从HTTP请求中获取客户IP地址

/**     * 从HTTP请求中获取客户IP地址     *     * @param request http请求     * @return 客户IP地址     */    public static String getIPAddress( HttpServletRequest request )    {        String ip = request.getHeader( "x-forwarded-for" );        if ( ip == null ||

CIPAddress中获取的IP地址与CString的互相转换

// IPAddressCtrl中的IP地址转为CString CIPAddressCtrl* pIp = (CIPAddressCtrl*)GetDlgItem(IPADDRESS); BYTE bytIp1, bytIp2, bytIp3, bytIp4; pIp->GetAddress(bytIp1, bytIp2, bytIp3, bytIp4); CString strIp; strIp.Format(_T("%u.%u.%u.%u"), bytIp1, bytIp2,

如何在linux系统中设置静态ip地址

在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0   开始编辑,填写ip地址.子网掩码.网关.DNS等.其中“红框内的信息”是必须得有的.   编辑完后,保存退出.   重启网络服务.service network restart或/etc/init.d/network restart   ping网关,ping外网进行测试.都能ping通表示网络正常.   摘要: ---修改ip地址--- 即时生效: # ifconfig eth0 192

在linux系统中设置静态ip地址

百度了好久,还是这个比较靠谱 http://jingyan.baidu.com/article/455a99508be7cda167277865.html 爱死你啦----------------------------------------------------------------------------- 让我mark 一下 1.首先在:在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.

配置vitualBox中ubuntu的IP地址

首先是vitualbox中网络连接的设置.默认的为网络地址转换(NAT)修改为桥接网卡,其他默认. 然后就是进入到ubuntu中修改IP地址,这个相信大家百度都能查到. sudo vi /etc/network/interfaces 然后,修改里面的内容,追加内容: auto eth0 iface eth0 inet static address 192.168.1.121 netmask 255.255.255.0 gateway 192.168.1.1 保持与宿主操作系统中IP地址在同一个网