C# 获取IP地址、主机信息(Host)、浏览器信息
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)、浏览器信息相关推荐
- js获取内网ip地址,操作系统,浏览器版本等信息
这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...
- js获取内网/局域网ip地址,操作系统,浏览器版本等信息
这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...
- java获取ip地址以及获取浏览器信息工具
/*** 获取ip地址*/public static String getIp(HttpServletRequest request) {String ipAddress = request.getH ...
- java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...
使用java进行网络程序的开发,可以说是一件令人愉悦的事情,对于用惯了C++网络接口编程的人来说,当他们首次使用Java开发网络应用程序,会发现java开发网络应用是如此的简单,甚至仅用几分钟时间,您 ...
- 【Java网络编程】获得实验室局域网中所有开机主机名称和IP地址,InetAddress类,在java中如何获取IP地址的方法
获得实验室所有主机的IP地址和主机名 一.InetAddress类 二.获得指定IP地址和主机名的主要方法以及练习 1.主要方法 2.源码 三.获得实验室局域网中所有开机主机名称和IP地址 1.源码 ...
- 虚拟机的安装和linux操作系统(RedHat.8.5)的安装。将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用ssh通过不同用户远程连接。在linux系统下破解密码
目录 一.在VMware上如何创建虚拟机以及安装linux操作系统. 二.修改主机名为server.local. 三.将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用 ...
- python地址多少位_Python获取IP地址对应的地理位置信息!
在学习中有迷茫不知如何学习的朋友小编推荐一个学Python的学习q u n 227 -435- 450可以来了解一起进步一起学习!免费分享视频资料 原理简介 利用了三个可以查询ip地址对应归属地的网站 ...
- 从淘宝服务器IP地址服务获取IP地址信息的方法
主要是json返回值的获取 package com.xtisp.service.system; import java.io.BufferedReader; import java.io.ByteAr ...
- 获取IP地址信息的API合集
今天给大家分享一些获取IP地址信息的API合集 一.ip.cn查询网获取当前客户端IP 二.ip查询网获取当前客户端IP 三.百度获取IP地址信息 四.本站获取当前客户端IP信息 五.其他平台获取IP ...
- PHP 获取 IP 地址所在的地理位置信息/城市
源码:https://github.com/hacfins/thinkphp6-api/blob/master/app/common/third/MapService.php 类似的博客很多,五花八门 ...
最新文章
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(6):各种公共方法及工具类的封装
- python调用cmd命令
- QT5实现简单的TCP通信
- 裸眼 3D 是什么效果?
- 10倍!微软开源深度学习优化库DeepSpeed,可训练1000亿参数模型
- pta c语言 凯撒密码
- python的pip换源_[Python]Pip换源以及设置代理
- 队列的JS实现及广度优先搜索(BFS)的实现
- 收集了 1000 个 iOS 常用的库。原文:https://github.com/iamdaiyuan/ios_top_1000
- 企业微信网页应用开发 - 消息/事件回调接口
- UGUI中UI控件简介
- 微信小程序在线考试项目开发-注册登录功能
- 计算机综合应用技能,系统测评计算机综合应用技能期末作业.doc
- 数据结构课设 (快餐店 POS 机计费系统、成绩分析、算术表达式)
- djay Pro 2 Mac(DJ混音软件) v2.0.11激活版
- 中国科学技术大学 先进技术研究院
- 单片机炫彩灯实训报告_51单片机呼吸灯实验报告.doc
- 4.面向对象:封装,多态
- 104、二氧化碳气体灭火系统的灭火机理
- Carsim软件使用技巧