示例#1
0
文件: HTTP.cs 项目: Techbot121/EBot
        public static async Task <string> Fetch(string url, BotLog log, string useragent = null, Action <HttpWebRequest> callback = null)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method  = "GET";
                request.Timeout = 1000 * 60;
                request.Headers[HttpRequestHeader.UserAgent] = useragent ?? UserAgent;
                callback?.Invoke(request);

                using (WebResponse answer = await request.GetResponseAsync())
                    using (StreamReader reader = new StreamReader(answer.GetResponseStream(), Encoding.UTF8))
                    {
                        string result = reader.ReadToEnd();
                        return(result);
                    }
            }
            catch (WebException e)
            {
                if (e.Status == WebExceptionStatus.Timeout)
                {
                    log.Nice("HTTP", ConsoleColor.Red, "Request timed out for [ " + url + " ]");
                }
                else if (e.Status == WebExceptionStatus.ConnectFailure)
                {
                    log.Nice("HTTP", ConsoleColor.Red, "(404) Couln't reach [ " + url + " ]");
                }
                else
                {
                    log.Nice("HTTP", ConsoleColor.Red, "Unknown error [ " + url + " ]\n" + e.ToString());
                }

                return("");
            }
        }
示例#2
0
文件: JSON.cs 项目: Techbot121/EBot
        public static string Serialize(Object obj, BotLog log)
        {
            try
            {
                string json = JsonConvert.SerializeObject(obj);
                return(json);
            }
            catch
            {
                log.Nice("JSON", ConsoleColor.Red, "Couldn't serialize a string!");
                log.Danger(obj.ToString());

                return("");
            }
        }
示例#3
0
文件: JSON.cs 项目: Techbot121/EBot
        public static T Deserialize <T>(string json, BotLog log)
        {
            try
            {
                T deserialized = JsonConvert.DeserializeObject <T>(json);
                return(deserialized);
            }
            catch
            {
                log.Nice("JSON", ConsoleColor.Red, "Couldn't deserialize a string!");
                log.Danger(json);

                return(default(T));
            }
        }