#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;
}
/// <summary>
/// 由IP地址获得用户地理位置
/// </summary>
/// <param name="IP">IP地址</param>
/// <returns></returns>
static public string IPGetAddress(string IP)
{
//server=.;database=DLJOB;uid=sa;pwd=
string str="";
string strConnection="user id=sa;password=;initial catalog=DLJOB;Server=.;Connect Timeout=30";
// string strConnection="provider=Microsoft.jet.OLEDB.4.0;data Source="+System.Web.HttpContext.Current.Server.MapPath("/_mdb/IPAddress.mdb")+";";
SqlConnection conn=new SqlConnection(strConnection);
conn.Open();
SqlCommand comm=new SqlCommand("select top 1 * from IPAddress where ip1<= '"+IP+"' and ip2 >='"+IP+"' ORDER BY ID DESC",conn);
//comm.Parameters.Add("@IP",OleDbType.WChar).Value=IP;
SqlDataReader sdr=comm.ExecuteReader();
if(sdr.Read())
{
str=sdr[3].ToString();
}
else
{
str="未知地址";
}
sdr.Close();
conn.Close();
return str;
}
#endregion