using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Web;namespace NetHelper
{public class Net{#region Ip(获取Ip)/// <summary>/// 获取Ip/// </summary>public static string Ip{get{var result = string.Empty;if (HttpContext.Current != null)result = GetWebClientIp();if (string.IsNullOrWhiteSpace(result))result = GetLanIp();return result;}}/// <summary>/// 获取Web客户端的Ip/// </summary>/// <returns></returns>private static string GetWebClientIp(){var ip = GetWebRemoteIp();foreach (var hostAddress in Dns.GetHostAddresses(ip)){if (hostAddress.AddressFamily == AddressFamily.InterNetwork)return hostAddress.ToString();}return string.Empty;}/// <summary>/// 获取Web远程Ip/// </summary>/// <returns></returns>private static string GetWebRemoteIp(){return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];}/// <summary>/// 获取局域网IP/// </summary>/// <returns></returns>private static string GetLanIp(){string ip = string.Empty;foreach (var hostAddress in Dns.GetHostAddresses(Dns.GetHostName())){if (hostAddress.AddressFamily == AddressFamily.InterNetwork)//return hostAddress.ToString();ip = ip + ";" + hostAddress.ToString();}if (!string.IsNullOrEmpty(ip) && ip.Contains(";")){ip = ip.Substring(1);}return ip;}#endregion#region Host(获取主机名)/// <summary>/// 获取主机名/// </summary>public static string Host{get{return HttpContext.Current == null ? Dns.GetHostName() : GetWebClientHostName();}}/// <summary>/// 获取Web客户端主机名/// </summary>/// <returns></returns>private static string GetWebClientHostName(){if (!HttpContext.Current.Request.IsLocal)return string.Empty;var ip = GetWebRemoteIp();var result = Dns.GetHostEntry(IPAddress.Parse(ip)).HostName;if (result == "localhost.localdomain")result = Dns.GetHostName();return result;}#endregion#region Browser(获取浏览器信息)/// <summary>/// 获取浏览器信息/// </summary>public static string Browser{get{if (HttpContext.Current == null)return string.Empty;var browser = HttpContext.Current.Request.Browser;return string.Format("{0} {1}", browser.Browser, browser.Version);}}#endregion}
}

C# 获取IP地址、主机信息(Host)、浏览器信息相关推荐

  1. js获取内网ip地址,操作系统,浏览器版本等信息

    这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...

  2. js获取内网/局域网ip地址,操作系统,浏览器版本等信息

    这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...

  3. java获取ip地址以及获取浏览器信息工具

    /*** 获取ip地址*/public static String getIp(HttpServletRequest request) {String ipAddress = request.getH ...

  4. java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...

    使用java进行网络程序的开发,可以说是一件令人愉悦的事情,对于用惯了C++网络接口编程的人来说,当他们首次使用Java开发网络应用程序,会发现java开发网络应用是如此的简单,甚至仅用几分钟时间,您 ...

  5. 【Java网络编程】获得实验室局域网中所有开机主机名称和IP地址,InetAddress类,在java中如何获取IP地址的方法

    获得实验室所有主机的IP地址和主机名 一.InetAddress类 二.获得指定IP地址和主机名的主要方法以及练习 1.主要方法 2.源码 三.获得实验室局域网中所有开机主机名称和IP地址 1.源码 ...

  6. 虚拟机的安装和linux操作系统(RedHat.8.5)的安装。将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用ssh通过不同用户远程连接。在linux系统下破解密码

    目录 一.在VMware上如何创建虚拟机以及安装linux操作系统. 二.修改主机名为server.local. 三.将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用 ...

  7. python地址多少位_Python获取IP地址对应的地理位置信息!

    在学习中有迷茫不知如何学习的朋友小编推荐一个学Python的学习q u n 227 -435- 450可以来了解一起进步一起学习!免费分享视频资料 原理简介 利用了三个可以查询ip地址对应归属地的网站 ...

  8. 从淘宝服务器IP地址服务获取IP地址信息的方法

    主要是json返回值的获取 package com.xtisp.service.system; import java.io.BufferedReader; import java.io.ByteAr ...

  9. 获取IP地址信息的API合集

    今天给大家分享一些获取IP地址信息的API合集 一.ip.cn查询网获取当前客户端IP 二.ip查询网获取当前客户端IP 三.百度获取IP地址信息 四.本站获取当前客户端IP信息 五.其他平台获取IP ...

  10. PHP 获取 IP 地址所在的地理位置信息/城市

    源码:https://github.com/hacfins/thinkphp6-api/blob/master/app/common/third/MapService.php 类似的博客很多,五花八门 ...

最新文章

  1. 仅需6步,教你轻易撕掉app开发框架的神秘面纱(6):各种公共方法及工具类的封装
  2. python调用cmd命令
  3. QT5实现简单的TCP通信
  4. 裸眼 3D 是什么效果?
  5. 10倍!微软开源深度学习优化库DeepSpeed,可训练1000亿参数模型
  6. pta c语言 凯撒密码
  7. python的pip换源_[Python]Pip换源以及设置代理
  8. 队列的JS实现及广度优先搜索(BFS)的实现
  9. 收集了 1000 个 iOS 常用的库。原文:https://github.com/iamdaiyuan/ios_top_1000
  10. 企业微信网页应用开发 - 消息/事件回调接口
  11. UGUI中UI控件简介
  12. 微信小程序在线考试项目开发-注册登录功能
  13. 计算机综合应用技能,系统测评计算机综合应用技能期末作业.doc
  14. 数据结构课设 (快餐店 POS 机计费系统、成绩分析、算术表达式)
  15. djay Pro 2 Mac(DJ混音软件) v2.0.11激活版
  16. 中国科学技术大学 先进技术研究院
  17. 单片机炫彩灯实训报告_51单片机呼吸灯实验报告.doc
  18. 4.面向对象:封装,多态
  19. 104、二氧化碳气体灭火系统的灭火机理
  20. Carsim软件使用技巧

热门文章

  1. 用C#简单实现迷你理财工具
  2. 数据结构(十六)——左高树(含合并过程详细图解)
  3. 深入实践 ES6 Proxy Reflect
  4. RGB与Lab颜色空间互相转换
  5. Task3 | HLM | 高收入个体更吝啬吗
  6. 利用计算机解决实际问题,计算机程序可以解决哪些实际问题
  7. 限流对于抖音玩家来说,无异于被宣布了“死亡”。
  8. 地下水位监测预警方案 | 助力城市排水信息化
  9. Python seek()和tell()函数详解
  10. c语言 的意思啊,c语言中!1是什么意思啊