用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > Net教程

asp.net(vb.net)获取真实IP的函数

时间:2015-01-29  来源:互联网  作者:佚名
aspx vb.net获取真实IP的函数如下:
复制代码 代码如下:
<script runat="server">
Public Function CheckIp(ByVal ip As String) As Boolean
Dim pat As String = "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"
Dim reg As Regex = New Regex(pat)
if ip = "" Then
CheckIp = False
exit Function
end if
CheckIp = reg.IsMatch(ip)
End Function

Public Function get_cli_ip() As String
If ( Not( System.Web.HttpContext.Current.Request.ServerVariables("HTTP_CLIENT_IP") Is Nothing) And CheckIp(System.Web.HttpContext.Current.Request.ServerVariables("HTTP_CLIENT_IP")) = True) Then
get_cli_ip = System.Web.HttpContext.Current.Request.ServerVariables("HTTP_CLIENT_IP")
Exit Function
ElseIf Not(System.Web.HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR") Is Nothing) Then
Dim ips() As String = Split(System.Web.HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")
For i As Integer = 0 To ips.Length - 1
If CheckIp(Trim(ips(i))) = True Then
get_cli_ip = Trim(ips(i))
Exit Function
End If
Next
End If
get_cli_ip = System.Web.HttpContext.Current.Request.ServerVariables("REMOTE_ADDR")
End Function
</script>

完整的测试页面:
复制代码 代码如下:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Function CheckIp(ByVal ip As String) As Boolean
Dim pat As String = "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"
Dim reg As Regex = New Regex(pat)
if ip = "" Then
CheckIp = False
exit Function
end if
CheckIp = reg.IsMatch(ip)
End Function

Public Function get_cli_ip() As String
If ( Not( System.Web.HttpContext.Current.Request.ServerVariables("HTTP_CLIENT_IP") Is Nothing) And CheckIp(System.Web.HttpContext.Current.Request.ServerVariables("HTTP_CLIENT_IP")) = True) Then
get_cli_ip = System.Web.HttpContext.Current.Request.ServerVariables("HTTP_CLIENT_IP")
Exit Function
ElseIf Not(System.Web.HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR") Is Nothing) Then
Dim ips() As String = Split(System.Web.HttpContext.Current.Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")
For i As Integer = 0 To ips.Length - 1
If CheckIp(Trim(ips(i))) = True Then
get_cli_ip = Trim(ips(i))
Exit Function
End If
Next
End If
get_cli_ip = System.Web.HttpContext.Current.Request.ServerVariables("REMOTE_ADDR")
End Function
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<%
Dim client_ip As String = get_cli_ip()
System.Web.HttpContext.Current.Response.Write(client_ip)
%>
</body>
</html>
来顶一下
返回首页
返回首页
推荐资讯
使用FlashPaper在线转换.doc为.swf 使用FlashPaper在线转换.doc为.swfFlashPaper 是Macromedia推出的一款电子文档类工具!通过使用
ASP.NET操作EXCEL的总结篇 ASP.NET操作EXCEL的总结篇公元19XX年前,关于EXCEL的操作就如滔滔江水,连绵不绝,真正
相关文章
栏目更新
栏目热门