Пример #1
0
    public void GetChannelUpdates(ref LongbowInstanceData Data, string parameters)
    {
        bool success = false;

        try {
            ExtendedWebClient fetch = new ExtendedWebClient();
            fetch.Timeout     = 4000;
            fetch.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
            fetch.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
            string         NewData = fetch.UploadString(LongbowCore.api_url, parameters);
            LongbowToolkit Toolkit = new LongbowToolkit();
            Toolkit.AddNewPosts(ref Data, NewData);
            success = true;
        } catch (WebException e) {
            Data.ConnectionErrorCount++;
            if (Data.ConnectionErrorCount > 3)
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.BackgroundColor = ConsoleColor.Red;
                Console.SetCursorPosition(0, Console.CursorTop);
                Console.WriteLine("# It appears your connection to the server has been interrupted. (Tried to load post data.)");
                Console.WriteLine("Exception Message: " + e.Status);
                if (e.Status == WebExceptionStatus.ProtocolError)
                {
                    Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
                    Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
                }
                Console.ResetColor();
                Console.Write("\n> ");
                Console.SetCursorPosition(2, Console.CursorTop);
            }
        }

        if (success)
        {
            Data.ConnectionErrorCount = 0;
        }
    }