Exemplo n.º 1
0
        public string GetStats()
        {
            string s = string.Empty;

            if (domain.Count() == 0)
            {
                return(s);
            }
            s += "Name: " + Name + "\n";
            s += "Percent change: " + PercentChange.ToString() + "\n";
            s += "Range: " + TotalChange.ToString() + "\n";
            s += "Start date: " + StartDate.ToShortDateString() + "\n";
            s += "End date: " + EndDate.ToShortDateString() + "\n";
            s += "Start val: " + StartVal.ToString() + "\n";
            s += "End val: " + EndVal.ToString() + "\n";
            return(s);
        }
Exemplo n.º 2
0
        public static void DownloadLinks()
        {
            foreach (string EndVal in FoundLinks)
            {
                try
                {
                    Uri    url        = new Uri(EndVal);
                    string sourcehtml = HttpMethods.Get(EndVal, EndVal, ref HttpMethods.cookies);

                    Uri  uriResult;
                    bool result = Uri.TryCreate(EndVal, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);

                    string lastSegment = url.Segments[url.Segments.Length - 1];
                    string FileName;
                    if (lastSegment.Substring(lastSegment.Length - 1) == "/")
                    {
                        FileName = "default-down.html";
                    }
                    else
                    {
                        FileName = lastSegment;
                    }
                    try
                    {
                        if (EndVal.Trim() != string.Empty && result)
                        {
                            if (mainUri.Host == url.Host)
                            {
                                if (!Directory.Exists(dlpath + url.Host))
                                {
                                    Directory.CreateDirectory(dlpath + url.Host);
                                }
                                if (!Directory.Exists(dlpath + url.Host + Path.GetDirectoryName(url.AbsolutePath)))
                                {
                                    Directory.CreateDirectory(dlpath + url.Host + Path.GetDirectoryName(url.AbsolutePath));
                                }
                                //File.WriteAllText(url.Host + Path.GetDirectoryName(url.AbsolutePath) + "\\" + FileName, sourcehtml);
                                if (!File.Exists(dlpath + url.Host + Path.GetDirectoryName(url.AbsolutePath) + "\\" + FileName))
                                {
                                    WebClient client = new WebClient();
                                    client.DownloadFile(url, dlpath + url.Host + Path.GetDirectoryName(url.AbsolutePath) + "\\" + FileName);
                                }
                            }
                        }
                    }
                    catch (Exception ex) { Errors.Add(ex.Message); }
                    downloaded++;
                    try
                    {
                        VisitedLinks.Add(url.ToString());
                    }
                    catch (Exception ex) { Errors.Add(ex.Message); }
                    int toplamdosya = FoundLinks.Count + ImageLinks.Count + CSSLinks.Count + JSLinks.Count + Analyzed.Count;
                    Console.Title           = string.Format("İndiriliyor... ({0} dosyadan {1} tanesi indirildi)", toplamdosya, downloaded);
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.Write("İndirildi: ");
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.WriteLine(url);
                }
                catch (NullReferenceException ex) { Errors.Add(ex.Message); }
                catch (ArgumentOutOfRangeException ex) { Errors.Add(ex.Message); }
                catch (Exception ex) { Errors.Add(ex.Message); }
            }
        }
Exemplo n.º 3
0
        static string ParseUrl(string value, Uri url)
        {
            string EndVal = "";

            try
            {
                if (value.Contains("?") || value.Contains("<") || value.Contains(">") || value.Contains(":") || value.Contains(";"))
                {
                    EndVal = "";
                }
                else if (value.Substring(0, 1) == "/" && value.Substring(0, 2) != "//")
                {
                    EndVal = url.Scheme + "://" + url.Host + Path.GetDirectoryName(url.AbsolutePath) + value;
                }
                else if (value.Substring(0, 2) == "//")
                {
                    EndVal = url.Scheme + ":" + value + Path.GetDirectoryName(url.AbsolutePath);
                }
                else if (value.Substring(0, 1) == "#" || value.Contains("#"))
                {
                    EndVal = "";
                }
                //else if (value.Substring(0, 11) == "javascript:")
                //{
                //    EndVal = "";
                //}
                //else if (value.Substring(0, 7) == "mailto:")
                //{
                //    EndVal = "";
                //}
                //else if (value.Substring(0, 4) == "tel:")
                //{
                //    EndVal = "";
                //}
                else if (value.Substring(0, 6) == "../../")
                {
                    value  = value.Substring(6);
                    EndVal = url.Scheme + "://" + url.Host + Path.GetFullPath(Path.Combine(url.AbsolutePath, @"..\..\..\")).Substring(2) + value;
                }
                else if (value.Substring(0, 2) == "./")
                {
                    value  = value.Substring(1);
                    EndVal = url.Scheme + "://" + url.Host + Path.GetDirectoryName(url.AbsolutePath) + value;
                }
                else if (value.Substring(0, 3) == "../")
                {
                    value  = value.Substring(3);
                    EndVal = url.Scheme + "://" + url.Host + Path.GetFullPath(Path.Combine(url.AbsolutePath, @"..\..\")).Substring(2) + value;
                }
                else if (value.Substring(0, 5) != "https" && value.Substring(0, 4) != "http")
                {
                    EndVal = url.Scheme + "://" + url.Host + Path.GetDirectoryName(url.AbsolutePath) + "/" + value;
                }
                else
                {
                    EndVal = value;
                }
            }
            catch (ArgumentOutOfRangeException ex) { Errors.Add(ex.Message); }
            EndVal = EndVal.Replace("\\", "/");
            return(EndVal);
        }
Exemplo n.º 4
0
 public override string ToString()
 {
     return(StartVal.GetValueOrDefault().ToString("f2") + EndVal.GetValueOrDefault().ToString("f2"));
 }