Пример #1
0
        /// <summary>
        /// Записать заблоченные Mac-адреса или Ip
        /// </summary>
        /// <param name="values"></param>
        public static void WriteLockedMacsOrIps([NotNull, ItemNotNull] string[] values)
        {
            var request = new HttpWebRequest(new Uri("http://192.168.1.1/apply.cgi", UriKind.Absolute))
            {
                Method  = "POST",
                Referer = "http://192.168.1.1/apply.cgi"
            };
            var macFilterValues = new List <string>(values.Where(x => x.Contains(":")));

            while (macFilterValues.Count < 8)
            {
                macFilterValues.Add(VOID_MAC);
            }
            var ipFilterValues = new List <string>(values.Where(x => !x.Contains(":")));

            while (ipFilterValues.Count < 6)
            {
                ipFilterValues.Add(VOID_IP);
            }
            var postData = string.Format(APPLY_FILTERS_POST_DATA_PATTERN,
                                         string.Join(string.Empty,
                                                     macFilterValues.Select((x, index) => $"&mac{index}={x.Replace(":", "%3A")}").AssertNull()),
                                         string.Join(string.Empty,
                                                     ipFilterValues.Select((x, index) => $"&ip{index}={x}")));

            request.Headers.VoidAssertNull();
            request.Headers.Add("Authorization", _authHeaderValue);
            request.AppendPostData(postData);
            var submitResponse = request.GetResponse() as HttpWebResponse;

            if (submitResponse == null || submitResponse.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception();
            }
        }
Пример #2
0
        /// <summary>
        /// Активировать фильтр 2 (с телевизорами)
        /// </summary>
        private static void ActivateFilter()
        {
            var request = new HttpWebRequest(new Uri("http://192.168.1.1/apply.cgi", UriKind.Absolute))
            {
                Method  = "POST",
                Referer = "http://192.168.1.1/apply.cgi"
            };

            request.Headers.VoidAssertNull();
            request.Headers.Add("Authorization", _authHeaderValue);
            request.AppendPostData(SWITCH_TO_FILTER_2_POST_DATA);
            var submitResponse = request.GetResponse() as HttpWebResponse;

            if (submitResponse == null || submitResponse.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception();
            }
        }