.net 获取IP地址的几种方式
1.获取服务器IP地址:
1) Local_Addr
var Local_Addr = Request.ServerVariables.Get("Local_Addr").ToString()
2.获取客户端IP地址:
X-Forwarded-For, X-Real-IP, remote_addr是http协议中用来表示客户端地址的请求头
1) HTTP_REMOTEIP
var HTTP_REMOTEIP = HttpContext.Request.Headers["HTTP_REMOTEIP"];
表示发出请求的远程主机的 IP 地址,remote_addr表明客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web服务器(Nginx,Apache等)就会把remote_addr设为你的机器IP,若是你用了某个代理,那么你的浏览器会先访问这个代理,而后再由这个代理转发到网站,这样web服务器就会把remote_addr设为这台代理机器的IPhtml
2) HTTP_X_FORWARDED_FOR
var HTTP_X_FORWARDED_FOR = HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
简称XFF头,它表明客户端,也就是HTTP的请求端真实的IP,只有在经过了HTTP 代理或者负载均衡服务器时才会添加该项,正如上面所述,当你使用了代理时,web服务器就不知道你的真实IP了,为了不这个状况,代理服务器一般会增长一个叫作x_forwarded_for的头信息,把链接它的客户端IP(即你的上网机器IP)加到这个头信息里,这样就能保证网站的web服务器能获取到真实IPnginx
3) HTTP_X_REAL_IP
var HTTP_X_REAL_IP = HttpContext.Request.ServerVariables["HTTP_X_REAL_IP"];
用来记录服务器的地址,但是和X-Forwarded-For的不同,它不把记录添加到结尾,而是直接替换
4) UserHostAddress
var UserHostAddress = HttpContext.Request.UserHostAddress;
这个直接通过request获取客户端IP,注意 客户端可以通过修改 UserHostAddress进行ip的伪造修改
1、获取客户端IP:Request.ServerVariables.Get("Remote_Addr").ToString();
2、获取客户端主机名:Request.ServerVariables.Get("Remote_Host").ToString();
3、获取客户端浏览器:Request.Browser.Browser;
4、获取客户端浏览器 版本号:Request.Browser.MajorVersion;
5、获取客户端操作系统:Request.Browser.Platform;
6、获取服务器IP:Request.ServerVariables.Get("Local_Addr").ToString();
7、获取服务器名:Request.ServerVariables.Get("Server_Name").ToString();
.net 获取IP地址的几种方式的更多相关文章
- windows下获取IP地址的两种方法
windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...
- Java获取ip地址的几种方法
以下内容介绍下java获取ip地址的几种思路. 1.直接利用java.net.InetAddress类获取,不过这种方法只在windows环境下有效,在linux环境下只能获取localhost地址( ...
- php 获取ip地址的5种方法,插入用户登录日志实例
php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...
- 树莓派4B获取IP地址的几种简易方法
首先声明一下,使用的是Paspbian系统,其实其他系统和本文说的获取IP地址关系也不大. 1.当你有路由器,有PC客户端的情况,你把你的树莓派用网线将其连接起来.你可以借助这个软件,advanced ...
- 【转】Centos 设置IP地址的几种方式
对于很多刚刚接触linux的朋友来说,如何设置linux系统的IP地址,作为第一步,下面小编以centos系统为例,给大家演示如何给centos设置IP地址,如何修改linux 系统IP地址? 查看I ...
- 获取IP地址的几种方法
根据ip获取地址的几种方法 1.调用新浪IP地址库 <script type="text/javascript" src="js/jquery.js"&g ...
- 获取MAC地址的几种方式
.NET 后台中 using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- js获取IP地址方法总结_转
js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338.html 1,js取得IP地址 ...
- js获取IP地址的方法小结
s代码获取IP地址的三种方法,在js中取得客户端的IP地址. 原文地址:http://www.jbxue.com/article/11338.html 1,js取得IP地址的方法一 <scrip ...
随机推荐
- 有关placeholder在ie9中的一点折腾
有关placeholder在ie9中的一点折腾. placeholder属性定义: placeholder 属性规定可描述输入字段预期值的简短的提示信息(比如:一个样本值或者预期格式的短描述). 问题 ...
- vue重构--H5--canvas实现粒子时钟
上一篇文章讲解了如何用js+canvas实现粒子时钟,本篇文章 ,主要是使用vue重构,让它在vue也能使用. 我们使用简单的方式重构,不使用vue工程,先加入vue cdn的地址,如下: <s ...
- activity-alias属性的使用
activity-alias是Android里为了重复使用Activity而设计的.1. 含义和作用: 对于activity-alias标签,它有一个属性叫android:targen ...
- 获取MCCMNC号
public static boolean isColombiaSpanishSimCard(){ TelephonyManager telManager = (TelephonyMan ...
- SQL语句总结---数据库操作
https://blog.csdn.net/hallomrzhang/article/details/85010014 数据库操作 查看所有数据库 show databases; 1 查看当前使用的数 ...
- 简单的axios请求返回数据解构赋值
本地 data.json 文件 { "name": "大熊", "age": 18, "fnc": [ 1, 2, 3 ...
- js 递归求1/2+1/4+1/6+....1/n的和,和1/1+1/3+1/5+.....+1/n的和
function fun1(n) { if (n == 2) { return 1 / 2; } if (n == 1) { ...
- 解决go-micro与其它gRPC框架之间的通信问题
在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通.不过当两者混合使用的时候,互相访问就成了问题.比如使用go-micro插件生成的gRPC客户 ...
- 条件表达式和switch语句
一,条件表达式相当于(相当于if-else) 1.条件表达式 ? : 由条件运算符组成条件表达式的一般情况为: 表达式1?表达式2:表达式3: 求值规则:如果表达式的值为真,则以表达式2的值作为条件的 ...
- SQL注入绕过总结
花括号绕过 select{x password}from{database.user} union select 1,{x 2},3 特征字符大小写绕过 UniOn SEleCt 1,2,3 MYSQ ...