小米note怎么卡刷:怎样获取访问者所在的区域

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 08:04:09
我现有IP数据库,请问怎么获得访问我网页的人的地址
像QQ显IP那样,还显示他在哪个地方

#region 获取IP地址,由IP地址获得用户地理位置
/// <summary>
/// 获取IP地址
/// </summary>
static public string IPAddress
{
get
{
string userIP;
// HttpRequest Request = HttpContext.Current.Request;
System.Web.HttpRequest Request = System.Web.HttpContext.Current.Request;
// 如果使用代理,获取真实IP
if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
userIP = Request.ServerVariables["REMOTE_ADDR"];
else
userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (userIP == null || userIP == "")
userIP = Request.UserHostAddress;
return userIP;
}
}
/// <summary>
/// 由IP地址获得用户地理位置
/// </summary>
/// <param name="IP">IP地址</param>
/// <param name="MDBMapPath">存放IP地址的数据库物理地址</param>
/// <returns></returns>
static public string IPGetAddress(string IP ,string MDBMapPath)
{
string str="";
string strConnection="provider=Microsoft.jet.OLEDB.4.0;data Source="+MDBMapPath+";";

OleDbConnection conn=new OleDbConnection (strConnection);

conn.Open();
OleDbCommand comm=new OleDbCommand("select top 1 * from IPAddress where ip1<= '"+IP+"' and ip2 >='"+IP+"' ORDER BY ID DESC",conn);
OleDbDataReader sdr=comm.ExecuteReader();
if(sdr.Read())
{
str=sdr[3].ToString();
}
else
{
str="未知地址";
}
sdr.Close();
conn.Close();
return str;

}

要数据库请Q我39712690

<%
'获取真实IP
Function GetRealIP()
GetRealIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If GetRealIP = "" Then
GetRealIP = Request.ServerVariables("REMOTE_ADDR")
end if
End Function
%>

然后根据IP查询数据库

因为数据库里面 有地区的关联ID。 查询ip所在范围,读取地区表的地区名。
你要问我这个数据库是哪里来的,我也不知道,反正网上到处都是。。。