`
shirlly
  • 浏览: 1652098 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

c# 获取本机在局域网和公网上的Ip的方法

    博客分类:
  • .NET
阅读更多
获取本机在局域网上的IP的方法
//获得局域网的IP地址
IPHostEntry ihe = Dns.GetHostByName(Dns.GetHostName());
IPAddress myIp = ihe.AddressList[0];
string loginIP = myIp.ToString();

获取本机在公网上的IP的方法
//   通过外部网站返回得到内网外部IP   
  //   来源:   http://www.cnblogs.com/helloworld84/archive/2005/08/18/218104.html   
    
  using   System;   
  using   System.IO;   
  using   System.Net;   
  using   System.Text;   
  using   System.Text.RegularExpressions;   
    
  class   PubIP   
  {   
      static   string   GetIP()   
      {   
          Uri  uri = new Uri("http://www.ikaka.com/ip/index.asp");   
          HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);   
          req.Method = "POST";   
          req.ContentType = "application/x-www-form-urlencoded";   
          req.ContentLength = 0;   
          req.CookieContainer = new CookieContainer();   
          req.GetRequestStream().Write(new   byte   [0],   0,   0);   
          HttpWebResponse res = (HttpWebResponse)(req.GetResponse());   
          StreamReader rs = new StreamReader(res.GetResponseStream(),   Encoding.GetEncoding("GB18030"));   
          string  s =  rs.ReadToEnd();   
          rs.Close();   
          req.Abort();   
          res.Close();   
          Match m = Regex.Match(s,   @"IP:\[(?<IP>[0-9\.]*)\]");   
          if (m.Success) return m.Groups["IP"].Value;   
          return string.Empty;   
      }   
    
      static void Main()   
      {   
          Console.WriteLine(GetIP());   
      }   
  }   

分享到:
评论

相关推荐

    C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析

    本文实例讲述了C#实现获取本地内网(局域网)和外网(公网)IP地址的方法。分享给大家供大家参考,具体如下: 1、获取本机的IP地址集合: /// /// 获取本机所有ip地址 /// /// &lt;param name=netType&gt;InterNetwork:...

    C#获取本地ip 获取局域网ip

    在C#编程中,获取本地IP地址和局域网(LAN)IP地址是常见的网络编程需求。这通常涉及到网络接口的枚举、IP地址的解析以及操作系统提供的API调用。以下将详细介绍如何在C#中实现这些功能。 首先,我们要区分几种类型...

    本机所有IP地址查询(包括获取公网IP)

    标题中的“本机所有IP地址查询(包括获取公网IP)”指的是一个程序或者服务,它能够帮助用户获取本地计算机上所有网络接口的IP地址,并且能够查询到与该计算机连接到互联网时使用的公网IP地址。在现代网络环境中,一...

    获取本机IP以及公网IP的代码

    在IT领域,获取本机IP地址以及公网IP地址是一项基础任务,尤其对于网络编程和远程通信至关重要。在给定的标题“获取本机IP以及公网IP的代码”中,我们聚焦于通过编程来实现这一功能。这个实例适用于Visual Studio ...

    c#查看本机IP地址

    在C#编程中,获取本机IP地址是网络通信中常见的需求,特别是在进行Socket编程时。IP地址是网络上每台设备的唯一标识,它使得数据可以在互联网上准确地发送和接收。本篇文章将深入探讨如何使用C#来查看和获取本机的IP...

    c#获取本机在局域网ip地址的二种方法

    本文将详细介绍两种在C#中获取本机在局域网IP地址的方法。 第一种方法是通过DNS(Domain Name System)服务来获取。这种方法的核心是使用`Dns.GetHostEntry()`方法,该方法可以获取主机名对应的IP地址列表。以下是...

    c#局域网文件传输与信息传输

    特别是在局域网(LAN)环境下,利用C#进行文件传输与信息传递,不仅可以避免公网流量的消耗,还能提高数据传输的安全性和速度。以下是对C#在局域网文件传输与信息传输方面的重要知识点的详细解析。 ### 一、C#...

    c#upd穿透局域网源码

    标题中的“C# UDP穿透局域网源码”是指使用C#编程语言实现的一种UDP(User Datagram Protocol)网络通信技术,旨在允许通过局域网进行数据传输,甚至可能尝试突破局域网的限制,实现跨网络的通信。UDP是一种无连接的...

    获取本机IP

    在IT领域,获取本机IP地址是一项基础但重要的任务,特别是在网络编程和系统管理中。本文将详细探讨如何在不同的操作系统和编程环境下获取本机IP地址,并提供相关的源码示例。 1. IP地址概念 IP(Internet Protocol...

    C#根据ip获取当前地址

    在描述中提到的“当前地址”可能是指设备的公网IP地址,这可以通过向公共API发送请求来获取。例如,我们可以使用知名的免费API如`http://ip-api.com/json`或`https://ipapi.co/json`,这些服务返回一个JSON对象,...

    如何用C#验证IP是否为局域网地址

    局域网地址是指在局域网中使用的IP地址,它们不会被分配到公网中。根据RFC 1918标准,内网保留地址定义如下: * 10.0.0.0/8,即10.0.0.0-10.255.255.255 * 172.16.0.0/12,即172.16.0.0-172.31.255.255 * 192.168....

    asp.net得到本机IP地址

    综上所述,获取本机IP地址在ASP.NET中主要涉及`System.Net`和`System.Net.NetworkInformation`命名空间下的类和方法,如`Dns`、`NetworkInterface`、`IPAddress`等。了解这些基础概念,结合具体的业务需求,我们就能...

    C#实现局域网视频聊天.rar

    4. **UDP打洞技术**:由于局域网内的设备通常在NAT(网络地址转换)后面,UDP打洞技术用于穿透NAT,让两个不在同一公网IP后的设备能够直接通信。这是实现局域网内视频聊天的关键步骤。 5. **服务端与客户端架构**:...

    获得本机的IP地址Demo

    在实际应用中,你可能还需要处理其他情况,比如筛选出公网IP地址、处理IPv4和IPv6的兼容性问题,以及处理网络接口状态变化的实时更新等。以上代码只是一个基本的示例,具体实现应根据项目需求进行调整。 总之,C#...

    获取Ip地址代码

    如果需要获取公网IP,可以借助第三方API,例如`ipapi.co`: ```javascript async function getIpAddress() { const response = await fetch('https://ipapi.co/json/'); const data = await response.json(); ...

    C# 公网-网域网聊天 ,客户端服务器通讯

    公网与网域网之间的通信需要通过NAT(网络地址转换)或者公网IP地址来实现。 "聊天"功能的实现需要处理的消息传递和同步机制。在C#中,可以通过多线程或者异步编程来处理并发的聊天请求,确保用户可以实时接收到新...

    c#socket 聊天室 五子棋 局域网PVP对战

    - **连接方式**:由于是在局域网内对战,玩家可以通过内网IP直接连接,无需公网IP和端口映射。 - **网络稳定性**:考虑到局域网内的网络环境相对稳定,可以减少延迟和丢包带来的问题,提高游戏体验。 总的来说,...

    TCP\IP通信 C#

    5. **外网与外网通讯**:外网设备间的通信通常直接通过公网IP和端口进行。C#的TcpClient和TcpListener可以轻松处理这种场景。 6. **不同内网之间的通讯**:不同内网的设备间通信需要通过路由器或网关,可能涉及到...

Global site tag (gtag.js) - Google Analytics