asp.net网站首页根据IP自动跳转指定页面的示例

  次阅读 作者:智能小宝 来源:互联网 2016-01-26 10:49 我要评论(0)

本文介绍的程序主要实现根据IP地址或地址段或IP所在城市进行自动跳转到指定页面的功能,需要的朋友可以参考下

对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有城市站点的功能,如果没有设置相应的城市站点,默认就是根据用户访问的IP地址的所在城市自动设置。本文主要通过自定义扩展IHttpModule接口,考虑到性能 IP数据库主要采用QQwry纯真IP数据库,主要实现根据IP地址或地址段或IP所在城市进行自动跳转到指定页面的功能(支持Nginx作为前端反向代理服务器),该WebsiteSkip组件核心代码如下:

代码如下:

using System;

using System.Collections.Generic;

using System.Text;

using System.Web;

using System.Xml;

using System.IO;

using System.Net;

using System.Text.RegularExpressions;

using NetOpen_System.Component.QQWry;

namespace NetOpen_System.Component

{

public sealed class WebsiteSkipHttpModule : IHttpModule

{

#region IHttpModule 成员

public void Dispose()

{

}

public void Init(HttpApplication context)

{

context.BeginRequest += new EventHandler(context_BeginRequest);

}

#endregion

void context_BeginRequest(object sender, EventArgs e)

{

try

{

//if (HttpContext.Current.Request.IsLocal)//忽略本地计算机请求

//return;

//string ip = HttpContext.Current.Request.UserHostAddress;

//string ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();

string ip = string.Empty;

if (HttpContext.Current.Request.ServerVariables["HTTP_X_REAL_IP"] != null)

{

ip = HttpContext.Current.Request.ServerVariables["HTTP_X_REAL_IP"].ToString();

}

else if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)

{

ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

}

else if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)

{

ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

}

else

{

ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();

}

QQWryLocator qqWry = new QQWryLocator(HttpContext.Current.Server.MapPath(@"~IpDataqqwry.dat"));

IPLocation ipaddress = qqWry.Query(ip);//查询一个IP地址

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...