예제 #1
0
        public void ProcessRequest(HttpContext context)
        {
            //正式用
            userIP = GetWebClientIp(context);
            context.Response.ContentType = "text/plain";
            string result = string.Empty;

            if (!string.IsNullOrEmpty(context.Request["url"]) && !string.IsNullOrEmpty(context.Request["key"]) && context.Request["key"].Length == 32)
            {
                string userKey = context.Request["key"]; //key ,md5值
                wxCheckApiKey = ConfigTool.ReadVerifyConfig("wxCheckApiKey", "WeiXin");
                if (userKey.Trim() == wxCheckApiKey)
                {
                    context.Response.Write("参数错误,进qq群交流:41977413!");
                }
                else
                {
                    //需要检测的网址
                    string urlCheck = context.Request["url"]; //检测的值
                    urlCheck = urlCheck.Replace("https://", "").Replace("http://", "");
                    string json2 = "{\"Mode\":\"AuthKey\",\"Param\":\"{\'CheckUrl\':\'" + urlCheck + "\',\'UserKey\':\'" + userKey + "\'}\"}";

                    ServiceApiClient SpVoiceObj2 = new ServiceApiClient("NetTcpBinding_IServiceApi2");
                    SpVoiceObj2.Open();
                    result = SpVoiceObj2.Api(json2);
                    SpVoiceObj2.Close();
                    JsonObject.Results aup = JsonConvert.DeserializeObject <JsonObject.Results>(result);

                    if (aup.State == true)
                    {
                        string           json       = "{\"Mode\":\"WXCheckUrl\",\"Param\":\"{\'CheckUrl\':\'" + urlCheck + "\',\'UserKey\':\'" + userKey + "\'}\"}";
                        ServiceApiClient SpVoiceObj = new ServiceApiClient("NetTcpBinding_IServiceApi");
                        SpVoiceObj.Open();
                        result = SpVoiceObj.Api(json);
                        SpVoiceObj.Close();
                    }

                    Logger.WriteLoggger(userIP + ":" + userKey + ":" + result);

                    if (!string.IsNullOrEmpty(context.Request.QueryString["callback"]))
                    {
                        string callBack = context.Request.QueryString["callback"].ToString(); //回调
                        result = callBack + "(" + result + ")";
                    }

                    context.Response.Write(result);
                }
            }
            else
            {
                context.Response.Write("参数错误,进qq群交流:41977413!");
            }

            context.Response.End();
        }
예제 #2
0
        public void ProcessRequest(HttpContext context)
        {
            //PostHtml();
            userIP = GetWebClientIp(context);
            context.Response.ContentType = "text/plain";
            TimeSpan dspNow   = DateTime.Now.TimeOfDay;
            string   result   = string.Empty;
            string   urlCheck = string.Empty;

            if (IsInTimeInterval(dspNow, _strWorkingDayAM, _strWorkingDayPM))
            {
                if (!IsValid(context))
                {
                    result = "{\"State\":false,\"Data\":\"" + userIP + "\",\"Msg\":\"当天请求上限,请明天再试,需要讨论技术,进群交流 QQ群:41977413!\"}";
                }
                else
                {
                    if (!string.IsNullOrEmpty(context.Request["url"]))
                    {
                        if (!string.IsNullOrEmpty(context.Request["key"]) && context.Request["key"].Length == 32)
                        {
                            wxCheckApiKey = context.Request["key"]; //key ,md5值
                        }


                        try
                        {
                            //需要检测的网址
                            urlCheck = context.Request["url"]; //检测的值
                            urlCheck = urlCheck.Replace("https://", "").Replace("http://", "");
                            string json2 = "{\"Mode\":\"AuthKey\",\"Param\":\"{\'CheckUrl\':\'" + urlCheck + "\',\'UserKey\':\'" + wxCheckApiKey + "\'}\"}";

                            ServiceApiClient SpVoiceObj2 = new ServiceApiClient("NetTcpBinding_IServiceApi2");
                            SpVoiceObj2.Open();
                            result = SpVoiceObj2.Api(json2);
                            SpVoiceObj2.Close();
                            JsonObject.Results aup = JsonConvert.DeserializeObject <JsonObject.Results>(result);

                            if (aup.State == true)
                            {
                                string           json       = "{\"Mode\":\"WXCheckUrl\",\"Param\":\"{\'CheckUrl\':\'" + urlCheck + "\',\'UserKey\':\'" + wxCheckApiKey + "\'}\"}";
                                ServiceApiClient SpVoiceObj = new ServiceApiClient("NetTcpBinding_IServiceApi");
                                SpVoiceObj.Open();
                                result = SpVoiceObj.Api(json);
                                SpVoiceObj.Close();
                            }
                            Logger.WriteLogggerTest("#################################################");
                            Logger.WriteLogggerTest(userIP + ":" + wxCheckApiKey + ":" + result);

                            Logger.WriteLogggerTest(urlCheck + ":HTTP_CDN_SRC_IP--" + context.Request.ServerVariables["HTTP_CDN_SRC_IP"]);
                            Logger.WriteLogggerTest(urlCheck + ":HTTP_Cdn-Src-Ip--" + context.Request.ServerVariables["HTTP_Cdn-Src-Ip"]);
                            Logger.WriteLogggerTest(urlCheck + ":Cdn-Src-Ip--" + context.Request.ServerVariables["Cdn-Src-Ip"]);
                            Logger.WriteLogggerTest(urlCheck + ":HTTP_X_FORWARDED_FOR--" + context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]);
                            Logger.WriteLogggerTest(urlCheck + ":Proxy-Client-IP--" + context.Request.ServerVariables["Proxy-Client-IP"]);
                            Logger.WriteLogggerTest(urlCheck + ":WL-Proxy-Client-IP--" + context.Request.ServerVariables["WL-Proxy-Client-IP"]);
                            Logger.WriteLogggerTest(urlCheck + ":HTTP_CLIENT_IP--" + context.Request.ServerVariables["HTTP_CLIENT_IP"]);
                            Logger.WriteLogggerTest(urlCheck + ":HTTP_VIA--" + context.Request.ServerVariables["HTTP_VIA"]);
                            Logger.WriteLogggerTest(urlCheck + ":REMOTE_ADDR--" + context.Request.ServerVariables["REMOTE_ADDR"]);

                            Logger.WriteLogggerTest("==================================================");
                        }
                        catch (Exception ex)
                        {
                            result = "{\"State\":false,\"Data\":\"" + urlCheck + "\",\"Msg\":\"某服务暂停,请联系管理员!\"}";
                        }
                    }
                    else
                    {
                        result = "{\"State\":false,\"Data\":\"" + userIP + "\",\"Msg\":\"参数错误,进qq群交流:41977413!\"}";
                    }
                }
            }
            else
            {
                result = "{\"State\":false,\"Data\":\"" + userIP + "\",\"Msg\":\"测试接口,请在每天(08:00-21:00)时间段进行测试,需要讨论技术,进群交流 QQ群:41977413.\"}";
            }
            if (!string.IsNullOrEmpty(context.Request.QueryString["callback"]))
            {
                string callBack = context.Request.QueryString["callback"].ToString(); //回调

                result = callBack + "(" + result + ")";
            }
            context.Response.Write(result);
            context.Response.End();
        }
예제 #3
0
        public void ProcessRequest(HttpContext context)
        {
            //正式用
            userIP = GetWebClientIp(context);
            string urlCheck = string.Empty;

            context.Response.ContentType = "text/plain";
            string result = string.Empty;

            if (!string.IsNullOrEmpty(context.Request["url"]) && !string.IsNullOrEmpty(context.Request["key"]) && context.Request["key"].Length == 32)
            {
                string userKey = context.Request["key"]; //key ,md5值

                if (userKey.Trim() == wxCheckApiKey)
                {
                    context.Response.Write("参数错误,进qq群交流:41977413!");
                }
                else
                {
                    try
                    {
                        //需要检测的网址
                        urlCheck = context.Request["url"]; //检测的值
                        bool isTrue = urlCheck.StartsWith("http");
                        if (!isTrue)
                        {
                            urlCheck = "http://" + urlCheck;
                        }
                        urlCheck = System.Web.HttpUtility.UrlEncode(urlCheck);

                        string json2 = "{\"Mode\":\"AuthKey\",\"Param\":\"{\'CheckUrl\':\'" + urlCheck + "\',\'UserKey\':\'" + userKey + "\'}\"}";

                        ServiceApiClient SpVoiceObj2 = new ServiceApiClient("NetTcpBinding_IServiceApi2");
                        SpVoiceObj2.Open();
                        result = SpVoiceObj2.Api(json2);
                        SpVoiceObj2.Close();
                        JsonObject.Results aup = JsonConvert.DeserializeObject <JsonObject.Results>(result);

                        if (aup.State == true)
                        {
                            string           json       = "{\"Mode\":\"WXCheckUrl\",\"Param\":\"{\'CheckUrl\':\'" + urlCheck + "\',\'UserKey\':\'" + userKey + "\'}\"}";
                            ServiceApiClient SpVoiceObj = new ServiceApiClient("NetTcpBinding_IServiceApi");
                            SpVoiceObj.Open();
                            result = SpVoiceObj.Api(json);
                            SpVoiceObj.Close();
                        }



                        if (!string.IsNullOrEmpty(context.Request.QueryString["callback"]))
                        {
                            string callBack = context.Request.QueryString["callback"].ToString(); //回调
                            result = callBack + "(" + result + ")";
                        }
                    }
                    catch (Exception ex)
                    {
                        result = "{\"State\":false,\"Data\":\"" + urlCheck + "\",\"Msg\":\"某服务暂停,请联系管理员!\"}";
                        LogTools.WriteLine(userIP + ":" + userKey + ":" + ex.Message);
                    }
                    context.Response.Write(result);
                    LogTools.WriteLine(userIP + ":" + userKey + ":" + result);
                }
            }
            else
            {
                context.Response.Write("参数错误,进qq群交流:41977413!");
            }

            context.Response.End();
        }