using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using System.Web; namespace Web12306 { public class CrxHandler:IHttpHandler { #region Implementation of IHttpHandler #if !DEBUG /// /// 通过实现 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。 /// /// 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。 public void ProcessRequest(HttpContext context) { var request = context.Request; var response = context.Response; var ua = request.UserAgent; if (string.IsNullOrEmpty(ua)) return; var m = Regex.Match(ua, @"Chrome/(\d+)", RegexOptions.IgnoreCase); if (!m.Success) return; var v = int.Parse(m.Groups[1].Value); if (v < 34) { response.Redirect("http://www.fishlee.net/service/dcl/44"); } else { response.Redirect("http://www.fishlee.net/service/dcl/60"); } } #else /// /// 通过实现 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。 /// /// 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。 public void ProcessRequest(HttpContext context) { var request = context.Request; var response = context.Response; var ua = request.UserAgent; if (string.IsNullOrEmpty(ua)) return; var m = Regex.Match(ua, @"Chrome/(\d+)", RegexOptions.IgnoreCase); if (!m.Success) return; response.Redirect("crx.crx"); } #endif /// /// 获取一个值,该值指示其他请求是否可以使用 实例。 /// /// /// 如果 实例可再次使用,则为 true;否则为 false。 /// public bool IsReusable { get { return false; } } #endregion } }