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); }
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); } } }
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); }
public override string ToString() { return(StartVal.GetValueOrDefault().ToString("f2") + EndVal.GetValueOrDefault().ToString("f2")); }