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>
您可能感兴趣的文章:VB.net常用字符和日期等函数vb.net读写文件代码vb.net发布水晶报表程序步骤VB.net 查询获取数据库数据信息VB.net读取Word文档属性的方法VB.NET拷贝整个目录下所有子目录及文件的实例代码VB.NET进度条的方法代码获取客户端IP地址c#/vb.net各自实现代码asp.net 验证码的简单制作(vb.net+C#)在VB.NET应用中使用MySQL的方法vb.net操作注册表的方法分析【增加,修改,删除,查询】
vb
ASP.NET
vb.net
net
ip
函数
ASP