public static void CheckAgent()
{
string redirect = string.Empty;
string agent = HttpContext.Current.Request.UserAgent;
string path = HttpContext.Current.Request.Url.AbsolutePath;
string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };
//排除 Windows 桌面系统
if (!agent.Contains("Windows NT") || (agent.Contains("Windows NT") && agent.Contains("compatible; MSIE 9.0;")))
{
//排除 苹果桌面系统
if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
{
foreach (string item in keywords)
{
if (agent.Contains(item))
{
redirect = System.Configuration.ConfigurationManager.AppSettings["WebH5URL"];
if (string.IsNullOrEmpty(redirect))
{
redirect = new MemberManageBLL().GetPublicConfig("WebH5URL");
}
break;
}
}
}
}
else
{
redirect = System.Configuration.ConfigurationManager.AppSettings["WebFrontURL"];//web.config里配置的url
if (string.IsNullOrEmpty(redirect))
{
redirect = new MemberManageBLL().GetPublicConfig("WebFrontURL");
}
if (path.ToLower().Contains("hhreg.aspx"))
redirect += "/Regist.aspx";
if (path.ToLower().Contains("login.aspx"))
redirect += path;
}
Uri rUrl = new Uri(redirect);
if ((rUrl.Host == HttpContext.Current.Request.Url.Host && rUrl.Port == HttpContext.Current.Request.Url.Port) || HttpContext.Current.Request.Url.Host.Contains("localhost"))
return;
HttpContext.Current.Response.Redirect(redirect);
}

上面是H5跳网页的例子

        public static void CheckAgent()
{
string redirect = string.Empty;
string agent = HttpContext.Current.Request.UserAgent;
string[] keywords = { "Android", "iPhone", "iPod", "iPad", "Windows Phone", "MQQBrowser" };
string path = HttpContext.Current.Request.Url.AbsolutePath;
//排除 Windows 桌面系统
if (!agent.Contains("Windows NT") || (agent.Contains("Windows NT") && agent.Contains("compatible; MSIE 9.0;")))
{
//排除 苹果桌面系统
if (!agent.Contains("Windows NT") && !agent.Contains("Macintosh"))
{
foreach (string item in keywords)
{
if (agent.Contains(item))
{
redirect = System.Configuration.ConfigurationManager.AppSettings["WebH5URL"];
if (string.IsNullOrEmpty(redirect))
{
redirect = new BLL.MemberManageBLL().GetPublicConfig("WebH5URL");
}
break;
}
}
}
if (path.ToLower().Contains("regist.aspx") || path.ToLower().Contains("regcode.aspx"))
redirect += "/HHReg.aspx";
if (path.ToLower().Contains("login.aspx"))
redirect += path;
}
else
{
redirect = System.Configuration.ConfigurationManager.AppSettings["WebFrontURL"];
if (string.IsNullOrEmpty(redirect))
{
redirect = new BLL.MemberManageBLL().GetPublicConfig("WebFrontURL");
}
}
Uri rUrl = new Uri(redirect);
if ((rUrl.Host == HttpContext.Current.Request.Url.Host && rUrl.Port == HttpContext.Current.Request.Url.Port) || HttpContext.Current.Request.Url.Host.Contains("localhost"))
return;
HttpContext.Current.Response.Redirect(redirect);
}

网页跳H5例子

网页跳H5实例的更多相关文章

  1. asp.net(c#)网页跳转 方法小结

    返回 打印 asp.net(c#)网页跳转七种方法小结_实用技巧_脚本之家 在asp.net下,经常需要页面的跳转,下面是具体的几种方法.跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于. ...

  2. 使用IE11抓包,防止在网页跳转时抓包数据被清除的方法

    引:最近在研究使用python实现模拟登陆各大网站,在使用IE11进行抓包分析网站登陆的逻辑结构的时候,发现每次在抓包的时候,当网页跳转的时候,抓包数据会被清除,让我很是郁闷,最终在查阅相关资料以及自 ...

  3. 总结PHP中几种常用的网页跳转代码

    网页跳转的意思就是指当你在浏览器中访问A页面时,会自动跳转到B页面,往往网页跳转用在404页面中会比较多点.至于怎么实现网页跳转,网上已经提供了很多的方法,有些方法是不可行的,经过测试,叶德华今天就在 ...

  4. IIS 7.5 使用URL Rewrite模块简单设置网页跳转

    原文 IIS 7.5 使用URL Rewrite模块简单设置网页跳转 我们都知道Apache可以在配置文件里方便的设置针对网页或网站的rewrite,但是最近接手了一组IIS服务器,发现这货简单的没有 ...

  5. 小结php中几种网页跳转

    1.使用网页中<a href=.....></a>实现跳转: 2.<form action="php_request2.php" method=&qu ...

  6. 微信跳转,wap网页跳转微信打开指定页面

    最近一朋友的客户有这么一需求,wap网页跳转微信打开指定页面,让用户去关注公众号.想这么干,通过网页跳转到微信并打开带有二维码的网页,用户长按识别二维码就可以关注了.想法很好,于是去搜索了“微信跳转, ...

  7. BOM模型中常用对象 定义计数器 网页跳转 网页前进后退

    今天上午学了的BOM模型中常用对象,了解了一部分的属性 For循环的规律 外层循环控制行 内层循环控制列 <!doctype html> <html> <head> ...

  8. android网页打印,安卓网页打印,h5页面打印,浏览器打印,js打印工具

    Android设备打印比较麻烦,一般设备厂商都提供原生app开发的SDK,我们web开发者为难了,不会原生开发啊 给大家提供一个思路,实现web加壳,利用打印浏览器实现 简单来说就是把我们的web页面 ...

  9. 【Django】网页跳转的问题

    这两天有个比较奇怪了问题困扰着我,就是网页跳转之后页面没有变化,虽然url已经变了,但是页面还是原来的,只是表单数据清空了 就是http://127.0.0.1:8000/signup_signin/ ...

随机推荐

  1. [20191002]函数dump的bug.txt

    [20191002]函数dump的bug.txt --//前几天写raw转化oracle number脚本,在使用函数dump时遇到一些问题,做一个记录:--//oracle number 0 编码 ...

  2. Ubantu搭建虚拟环境

    配置虚拟环境 Ubantu16.0.4 1.安装python虚拟环境 sudo apt-get install virtualenv 2.vrtaulenvwrapper是virtualenv的扩展包 ...

  3. Weblogic的三种部署方式

    Weblogic的三种部署方式     在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件c ...

  4. Shell命令-系统信息及显示之free、cal

    文件及内容处理 - free.cal 1. free:查看系统内存 free命令的功能说明 free 命令用于显示内存状态.free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内 ...

  5. jmeter beanshell断言接口自动化实例

    一.JMeter介绍 Apache JMeter是一款优秀的开源性能测试工具,在国外无论是在性能测试还是接口测试领域都有着非常高的使用率,但由于本身没有完善的中文文档以及典型开源工具特点(界面不美观) ...

  6. web-never give up

    打开题目连接 ?id=1 ,疑是注入点 但是输入其他数字无果 打开源码,发现注释有网页链接 打开连接123.206.87.240:8006/test/1p.html 发现回到了bugku的论坛首页,应 ...

  7. 压力测试中tps上不去的原因

    PS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出.例如,用户每分钟执行6个事务,TPS为6 / 60s = 0.10 TPS. 同时 ...

  8. SpringBoot关于静态js资源的报错问题

    2019-12-02 09:45:01.636 WARN 9572 --- [nio-8080-exec-2] o.s.web.servlet.PageNotFound : No mapping fo ...

  9. Special-Judge模板

    SPJ模板 放一篇\(SPJ\)(\(Special-Judge\))的模板. 注意,仅适用于\(Lemon\). 并不适用于洛谷. 代码:@zcs0724 #include <bits/std ...

  10. luoguP4588 [TJOI2018]数学计算

    题意 考虑一个操作会对一段时间内的询问产生影响,于是将线段树上的这段时间打上乘这个数的标记,最后dfs整颗线段树. code: #include<bits/stdc++.h> using ...