protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject ccObj = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } const string sStartTitle = "<title>Kemipic - Earn money by sharing pictures, images - "; string sPage = GetImageHostPage(ref strImgURL); if (sPage.Length < 10) { return false; } int iStartSrc = sPage.IndexOf(sStartTitle); if (iStartSrc < 0) { return false; } iStartSrc += sStartTitle.Length; int iEndSrc = sPage.IndexOf(" - </title>", iStartSrc); if (iEndSrc < 0) { return false; } strFilePath = sPage.Substring(iStartSrc, iEndSrc - iStartSrc); string strNewURL = strImgURL.Replace("share", "image").Replace(".html", strFilePath.Substring(strFilePath.LastIndexOf("."))); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// try { string sNewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != sNewAlteredPath) { strFilePath = sNewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; //CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("<img id=\"image\" onClick=\"scaleImg()\" src=\""); if (iStartSRC < 0) { return false; } iStartSRC += 42; iEndSRC = strIVPage.IndexOf("\" border=\"0\" style=\"cursor: pointer\">", iStartSRC); if (iEndSRC < 0) { return false; } string strNewURL = strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC); int iStartFN = 0; int iEndFN = 0; iStartFN = strIVPage.IndexOf("class=\"text1\">File Name:"); if (iStartFN < 0) { return false; } iStartFN += 48; iEndFN = strIVPage.IndexOf("</font></td", iStartFN); if (iEndFN < 0) { return false; } string strFilePath = strIVPage.Substring(iStartFN, iEndFN - iStartFN); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CCObj.FilePath = strFilePath; ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { var imageURL = ImageLinkURL; if (EventTable.ContainsKey(imageURL)) { return true; } var filePath = string.Empty; try { if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } var cacheObject = new CacheObject { IsDownloaded = false, FilePath = filePath, Url = imageURL }; try { EventTable.Add(imageURL, cacheObject); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(imageURL)) { return false; } EventTable.Add(imageURL, cacheObject); } // Set the download Path var imageDownloadURL = imageURL; // check for direct link image if (!imageURL.StartsWith("http://i")) { imageDownloadURL = imageDownloadURL.Replace("http://", "http://i"); } // Set Image Name instead of using random name filePath = this.GetImageName(this.PostTitle, imageDownloadURL, this.ImageNumber); filePath = Path.Combine(this.SavePath, Utility.RemoveIllegalCharecters(filePath)); ////////////////////////////////////////////////////////////////////////// filePath = Utility.GetSuitableName(filePath, true); ((CacheObject)EventTable[imageURL]).FilePath = filePath; try { var client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", imageURL)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(imageDownloadURL, filePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[imageURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(imageURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[imageURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(imageURL); return true; } catch (WebException) { ((CacheObject)EventTable[imageURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(imageURL); return false; } ((CacheObject)EventTable[imageURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[imageURL]).FilePath = filePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } var cacheObject = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, cacheObject); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, cacheObject); } var page = GetImageHostPage(ref strImgURL, "hoosterads=1;"); if (page.Length < 10) { return false; } string strNewURL; var m = Regex.Match(page, @"img src=\""(?<inner>[^\""]*)\"" alt=\""", RegexOptions.Singleline); if (m.Success) { strNewURL = m.Groups["inner"].Value; } else { return false; } if (strNewURL.StartsWith(" ")) { strNewURL = strNewURL.Replace(" ", string.Empty); } strFilePath = strImgURL.Substring(strImgURL.LastIndexOf("/", StringComparison.Ordinal) + 1); strFilePath = Path.Combine(this.SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != newAlteredPath) { strFilePath = newAlteredPath; ((CacheObject)EventTable[this.ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", strImgURL)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring(strImgURL.LastIndexOf("/") + 1); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strNewURL = strImgURL; strNewURL = strNewURL.Replace("viewimage.php?file=", ""); ////////////////////////////////////////////////////////////////////////// try { string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } string strFilePath = string.Empty; CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("full image.)</p> <p align=\"center\"><a href=\""); if (iStartSRC < 0) { return false; } iStartSRC += 46; iEndSRC = strIVPage.IndexOf("\"><img", iStartSRC); if (iEndSRC < 0) { return false; } string strNewURL = strImgURL; strFilePath = strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC); strNewURL = strNewURL.Replace(strImgURL.Substring(strImgURL.LastIndexOf("/") + 1), strFilePath); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } string strNewURL = strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1); int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("toggleResize();'><img src='"); if (iStartSRC < 0) { return false; } iStartSRC += 27; iEndSRC = strIVPage.IndexOf("' id='mainImage'", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = "http://suprfile.com/" + strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC); string strFilePath = strNewURL.Substring(strNewURL.LastIndexOf("/") + 1); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Accept-Language: en-us,en;q=0.5"); client.Headers.Add("Accept-Encoding: gzip,deflate"); client.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject ccObj = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } var cookieValue = this.GetCookieValue(strImgURL, @"writeCookie\('ads_pixhub', '(?<inner>[^']*)', '1'\)"); if (string.IsNullOrEmpty(cookieValue)) { return false; } string sPage = this.GetImageHostPage(ref strImgURL, string.Format("ads_pixhub={0};", cookieValue)); if (sPage.Length < 10) { return false; } string strNewURL; var match = Regex.Match( sPage, @"<div class=\""image-show resize\"">\s+.+?<img.+?src=\""(?<inner>[^\""]*)\"" alt=\""(?<filename>[^\""]*)\""", RegexOptions.Multiline); if (match.Success) { strNewURL = match.Groups["inner"].Value; if (strNewURL.Contains("thumbnail")) { strNewURL = strNewURL.Replace("thumbnail/", string.Empty); } strFilePath = match.Groups["filename"].Value; } else { return false; } strFilePath = Path.Combine(this.SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != newAlteredPath) { strFilePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", strImgURL)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return false; } ((CacheObject)EventTable[this.ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[this.ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Start Download Async. /// </summary> public void StartDownloadAsync() { if (this.EventTable.ContainsKey(this.ImageLinkURL)) { return; } var cacheObject = new CacheObject { IsDownloaded = false, FilePath = string.Empty, Url = this.ImageLinkURL }; try { this.EventTable.Add(this.ImageLinkURL, cacheObject); } catch (ThreadAbortException) { return; } catch (Exception) { if (this.EventTable.ContainsKey(this.ImageLinkURL)) { return; } this.EventTable.Add(this.ImageLinkURL, cacheObject); } try { if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } } catch (IOException) { return; } if (!this.DoDownload()) { this.RemoveThread(); } }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Returns if the Image was downloaded /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject ccObj = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } string sLargeUrl = string.Format("{0}&pjk=l", strImgURL).Replace("view/?id", "view/index.php?id"); string sPage = this.GetImageHostsPage(ref sLargeUrl, strImgURL); if (sPage.Length < 10) { return false; } string strNewURL; var m = Regex.Match(sPage, @"src=\""(?<inner>[^\""]*)\"" id=img1", RegexOptions.Singleline); if (m.Success) { strNewURL = m.Groups["inner"].Value; } else { return false; } strFilePath = strNewURL.Substring(strNewURL.LastIndexOf("/") + 1); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// try { string sNewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != sNewAlteredPath) { strFilePath = sNewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", sLargeUrl)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject ccObj = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } string strNewURL = strImgURL.Replace("imgchili.com/show", "i1.imgchili.com"); strFilePath = strNewURL.Substring(strNewURL.IndexOf("_") + 1); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != newAlteredPath) { strFilePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", strImgURL)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the image Download /// </summary> /// <returns> /// Returns if the Image was downloaded /// </returns> protected override bool DoDownload() { var imageHostURL = ImageLinkURL; var filePath = string.Empty; if (EventTable.ContainsKey(imageHostURL)) { return true; } try { if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } var cacheObject = new CacheObject { IsDownloaded = false, FilePath = filePath, Url = imageHostURL }; try { EventTable.Add(imageHostURL, cacheObject); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(imageHostURL)) { return false; } EventTable.Add(imageHostURL, cacheObject); } var imageDownloadURL = this.ThumbImageURL.Replace("/thumbs/", "/images/").Replace("http://t", "http://img"); filePath = imageDownloadURL.Substring(imageDownloadURL.IndexOf("_") + 1); filePath = Path.Combine(this.SavePath, Utility.RemoveIllegalCharecters(filePath)); ////////////////////////////////////////////////////////////////////////// var newAlteredPath = Utility.GetSuitableName(filePath); if (filePath != newAlteredPath) { filePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = filePath; } try { var client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", imageHostURL)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(imageDownloadURL, filePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[imageHostURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[imageHostURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[imageHostURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return false; } ((CacheObject)EventTable[this.ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[this.ImageLinkURL]).FilePath = filePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject ccObj = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } const string StartSrc = "<script type=\"text/javascript\" src=\"imgiga/showimg"; string sPage = GetImageHostPage(ref strImgURL); if (sPage.Length < 10) { return false; } int iStartSrc = sPage.IndexOf(StartSrc); if (iStartSrc < 0) { return false; } iStartSrc += StartSrc.Length; int iEndSrc = sPage.IndexOf("\"", iStartSrc); if (iEndSrc < 0) { return false; } string sScriptUrl = strImgURL; sScriptUrl = sScriptUrl.Remove(sScriptUrl.IndexOf(@"img.php")); sScriptUrl += string.Format("imgiga/showimg{0}", sPage.Substring(iStartSrc, iEndSrc - iStartSrc)); string sPage2 = GetImageHostPage(ref sScriptUrl); const string StartSrc2 = "href=\""; int iStartSrc2 = sPage2.IndexOf(StartSrc2); if (iStartSrc2 < 0) { return false; } iStartSrc2 += StartSrc2.Length; int iEndSrc2 = sPage2.IndexOf("\"", iStartSrc2); string strNewURL = sPage2.Substring(iStartSrc2, iEndSrc2 - iStartSrc2); strFilePath = strNewURL; if (strFilePath.Contains(".jpg")) { strFilePath = strFilePath.Remove(strFilePath.IndexOf(".jpg") + 4); } else if (strFilePath.Contains(".jpeg")) { strFilePath = strFilePath.Remove(strFilePath.IndexOf(".jpeg") + 5); } strFilePath = strFilePath.Substring(strFilePath.LastIndexOf("/") + 1); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != newAlteredPath) { strFilePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } strFilePath = Utility.CheckPathLength(strFilePath); ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring( strImgURL.IndexOf( "image=" ) + 6 ); // Get rid of the ImageVenue randomized tag // Old Remover /*int iTagStart = 0; iTagStart = strFilePath.IndexOf("_"); if (iTagStart >= 0) strFilePath = strFilePath.Substring(iTagStart + 1); */ try { Match a = Regex.Match(strFilePath, @"(^\d{5})_"); Match b = Regex.Match(strFilePath, @"(^\d{3})_"); Match c = Regex.Match(strFilePath, @"(^\w{3})_"); Match d = Regex.Match(strFilePath, @"(^\w\d\w)_"); Match e = Regex.Match(strFilePath, @"(^\d\w\d)_"); Match f = Regex.Match(strFilePath, @"(^\d\d\w)_"); Match g = Regex.Match(strFilePath, @"(^\w\d\d)_"); Match h = Regex.Match(strFilePath, @"(^\d{3}\w\d)_"); Match i = Regex.Match(strFilePath, @"(^\d\w\d\w\d)_"); Match j = Regex.Match(strFilePath, @"(^\w\d\w\d\w)_"); Match k = Regex.Match(strFilePath, @"(^\w\d\d\d\w)_"); Match l = Regex.Match(strFilePath, @"(^\w\d\w\d\d)_"); Match m = Regex.Match(strFilePath, @"(^\d\w\d\d\w)_"); Match n = Regex.Match(strFilePath, @"(^\d\w\w\d\w)_"); Match o = Regex.Match(strFilePath, @"(^\d\w\w\d\d)_"); Match p = Regex.Match(strFilePath, @"(^\d\w\w\w\d)_"); Match q = Regex.Match(strFilePath, @"(^\d\w\d\d\w)_"); Match r = Regex.Match(strFilePath, @"(^\d\w\d\w\w)_"); Match s = Regex.Match(strFilePath, @"(^\d\d\w\w\w)_"); Match t = Regex.Match(strFilePath, @"(^\d\d\d\w\w)_"); Match u = Regex.Match(strFilePath, @"(^\d\w\w\w\w)_"); Match v = Regex.Match(strFilePath, @"(^\w\d\d\w\d)_"); Match w = Regex.Match(strFilePath, @"(^\w\d\d\w\w)_"); Match x = Regex.Match(strFilePath, @"(^\w\w\w\w\d)_"); Match y = Regex.Match(strFilePath, @"(^\w\w\d\d\d)_"); Match z = Regex.Match(strFilePath, @"(^\w\w\w\d\d)_"); Match aa = Regex.Match(strFilePath, @"(^\w\w\w\d\w)_"); Match bb = Regex.Match(strFilePath, @"(^\w\w\d\w\w)_"); Match cc = Regex.Match(strFilePath, @"(^\w\w\d\w\d)_"); Match dd = Regex.Match(strFilePath, @"(^\w\w\d\d\w)_"); Match ee = Regex.Match(strFilePath, @"(^\w\w\d\d\d)_"); Match ff = Regex.Match(strFilePath, @"(^\w\d\w\w\w)_"); Match gg = Regex.Match(strFilePath, @"(^\w\d\w\w\d)_"); Match hh = Regex.Match(strFilePath, @"(^\w{5})_"); if (a.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d{5})_", ""); } else if (b.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d{3})_", ""); } else if (c.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w{3})_", ""); } else if (d.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w)_", ""); } else if (e.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d)_", ""); } else if (f.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\d\w)_", ""); } else if (g.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d)_", ""); } else if (h.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d{3}\w\d)_", ""); } else if (i.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\w\d)_", ""); } else if (j.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\d\w)_", ""); } else if (k.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d\d\w)_", ""); } else if (l.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\d\d)_", ""); } else if (m.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\d\w)_", ""); } else if (n.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\d\w)_", ""); } else if (o.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\d\d)_", ""); } else if (p.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\w\d)_", ""); } else if (q.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\d\w)_", ""); } else if (r.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\w\w)_", ""); } else if (s.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\d\w\w\w)_", ""); } else if (t.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\d\d\w\w)_", ""); } else if (u.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\w\w)_", ""); } else if (v.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d\w\d)_", ""); } else if (w.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d\w\w)_", ""); } else if (x.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\w\w\d)_", ""); } else if (y.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\d\d)_", ""); } else if (z.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\w\d\d)_", ""); } else if (aa.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\w\d\w)_", ""); } else if (bb.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\w\w)_", ""); } else if (cc.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\w\d)_", ""); } else if (dd.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\d\w)_", ""); } else if (ee.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\d\d)_", ""); } else if (ff.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\w\w)_", ""); } else if (gg.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\w\d)_", ""); } else if (hh.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w{5})_", ""); } strFilePath = Regex.Replace(strFilePath, @"_(\d{3})lo", ""); } catch (Exception) { // } try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath ; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch(System.Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } string strNewURL = string.Empty; int iStartIMG = 0; int iStartSRC = 0; int iEndSRC = 0; iStartIMG = strIVPage.IndexOf("<img id=\"thepic\""); if (iStartIMG < 0) { return false; } iStartSRC = strIVPage.IndexOf("SRC=\"", iStartIMG); if (iStartSRC < 0) { return false; } iStartSRC += 5; iEndSRC = strIVPage.IndexOf("\" alt=\"", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = string.Format("{0}{1}", strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1), strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC)); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring(strImgURL.IndexOf("view/") + 5); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strNewURL = "http://www.watermark-it.com/images/" + strImgURL.Substring(strImgURL.IndexOf("view/") + 5); ////////////////////////////////////////////////////////////////////////// HttpWebRequest lHttpWebRequest; HttpWebResponse lHttpWebResponse; Stream lHttpWebResponseStream; //FileStream lFileStream = null; //int bytesRead; try { lHttpWebRequest = (HttpWebRequest)WebRequest.Create(strNewURL); lHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"; lHttpWebRequest.Headers.Add("Accept-Language: en-us,en;q=0.5"); lHttpWebRequest.Headers.Add("Accept-Encoding: gzip,deflate"); lHttpWebRequest.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"); lHttpWebRequest.Referer = strImgURL; lHttpWebRequest.Accept = "image/png,*/*;q=0.5"; lHttpWebRequest.KeepAlive = true; lHttpWebResponse = (HttpWebResponse)lHttpWebRequest.GetResponse(); lHttpWebResponseStream = lHttpWebRequest.GetResponse().GetResponseStream(); if (lHttpWebResponse.ContentType.IndexOf("image") < 0) { //if (lFileStream != null) // lFileStream.Close(); return false; } if (lHttpWebResponse.ContentType.ToLower() == "image/jpeg") strFilePath += ".jpg"; else if (lHttpWebResponse.ContentType.ToLower() == "image/gif") strFilePath += ".gif"; else if (lHttpWebResponse.ContentType.ToLower() == "image/png") strFilePath += ".png"; string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } //lFileStream = new FileStream(strFilePath, FileMode.Create); lHttpWebResponseStream.Close(); System.Net.WebClient client = new WebClient(); client.Headers.Add("Accept-Language: en-us,en;q=0.5"); client.Headers.Add("Accept-Encoding: gzip,deflate"); client.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); /*do { // Read up to 1000 bytes into the bytesRead array. bytesRead = lHttpWebResponseStream.Read(byteBuffer, 0, 999); lFileStream.Write(byteBuffer, 0, bytesRead); }while(bytesRead > 0); lHttpWebResponseStream.Close();*/ } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } int iStartSRC2 = 0; int iEndSRC2 = 0; iStartSRC2 = strIVPage.IndexOf("<tr><td colspan=2><p>Original filename: "); if (iStartSRC2 < 0) { return false; } iStartSRC2 += 40; iEndSRC2 = strIVPage.IndexOf("</p></td></tr><tr><td colspan=2><p>Size:", iStartSRC2); if (iEndSRC2 < 0) { return false; } string strFilePath = strIVPage.Substring(iStartSRC2, iEndSRC2 - iStartSRC2); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage2 = GetImageHostPage(ref strImgURL); if (strIVPage2.Length < 10) { return false; } string strNewURL = strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1); int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage2.IndexOf("onClick=\"scale('img')\" onLoad=\"scale_load('img')\" src=\""); if (iStartSRC < 0) { return false; } iStartSRC += 55; iEndSRC = strIVPage2.IndexOf("\"></td><td valign=\"top\">", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = "http://" + strImgURL.Substring(strImgURL.IndexOf("http://") + 7, 4) + ".shareavenue.com/" + strIVPage2.Substring(iStartSRC, iEndSRC - iStartSRC); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } string filePath = string.Empty; CacheObject cCObj = new CacheObject { IsDownloaded = false, FilePath = filePath, Url = strImgURL }; try { EventTable.Add(strImgURL, cCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } this.EventTable.Add(strImgURL, cCObj); } string newURL; var m = Regex.Match(strImgURL, @"img=(?<img>[^&]*)&y=(?<year>[0-9]*)&m=(?<month>[0-9]*)&t=(?<type>[^&]*)&rand=(?<rand>([0-9]*))", RegexOptions.Singleline); if (m.Success) { var img = m.Groups["img"].Value.Remove(m.Groups["img"].Value.Length - 1); filePath = string.Format( "{0}{1}L.{2}", img, m.Groups["rand"].Value, m.Groups["type"].Value); if (strImgURL.Contains("&srv=")) { newURL = string.Format( "http://{5}.glowfoto.com/images/{0}/{1}/{2}{3}L.{4}", m.Groups["year"].Value, m.Groups["month"].Value, img, m.Groups["rand"].Value, m.Groups["type"].Value, strImgURL.Substring(strImgURL.IndexOf("&srv=") + 5)); } else { newURL = string.Format( "http://www.glowfoto.com/images/{0}/{1}/{2}{3}L.{4}", m.Groups["year"].Value, m.Groups["month"].Value, img, m.Groups["rand"].Value, m.Groups["type"].Value); } } else { return false; } filePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(filePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(filePath); if (filePath != newAlteredPath) { filePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = filePath; } try { WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", strImgURL)); client.Headers.Add( "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(newURL, filePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = filePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = strImgURL.Substring(strImgURL.IndexOf("show.php/") + 16); strFilePath = strFilePath.Remove(strFilePath.Length - 5, 5); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } string strNewURL = strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1); int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("<span id=imagecode style=\"visibility:hidden\"><img src=\"http://benuri.com/images/out.php/"); if (iStartSRC < 0) { return false; } iStartSRC += 88; iEndSRC = strIVPage.IndexOf("\" alt=\"", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = "http://benuri.com/images/out.php/" + strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { strFilePath += ".jpg"; WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true;; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring( strImgURL.IndexOf( "f=" ) + 2 ); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath ; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch(System.Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } int iLocStart = strImgURL.IndexOf( "loc=" ); if (iLocStart < 0) { return false; } iLocStart += 4; int iNameStart = strImgURL.IndexOf("f="); if (iNameStart < 0) { return false; } iNameStart += 2; string strNewURL = string.Format("http://fapomatic.com/{0}/{1}", strImgURL.Substring(iLocStart, strImgURL.IndexOf( "&", iLocStart ) - iLocStart ), strImgURL.Substring(iNameStart)); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring(strImgURL.IndexOf("_") + 1).Replace(".html", ""); try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strNewURL = string.Empty; string sPage = GetImageHostPage(ref strImgURL); int iStartSRC = 0; int iEndSRC = 0; iStartSRC = sPage.IndexOf("<span id=imagecode style=\"visibility:visible\"><img src=\""); if (iStartSRC < 0) { return false; } iStartSRC += 56; iEndSRC = sPage.IndexOf("\"", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = sPage.Substring(iStartSRC, iEndSRC - iStartSRC); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1); int iStartIMG = 0; int iEndIMG = 0; iStartIMG = strImgURL.IndexOf("?id="); if (iStartIMG < 0) { return false; } iStartIMG += 4; iEndIMG = strImgURL.IndexOf(".jpg&path", iStartIMG); if (iEndIMG < 0) { return false; } strFilePath = strImgURL.Substring(iStartIMG, iEndIMG - iStartIMG); try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } string strNewURL = string.Empty; strNewURL = strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1); int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("<img src=\""); if (iStartSRC < 0) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } iStartSRC += 10; iEndSRC = strIVPage.IndexOf("\" alt=\"Image Hosted By Imagehigh.com\"", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC); ////////////////////////////////////////////////////////////////////////// HttpWebRequest lHttpWebRequest; HttpWebResponse lHttpWebResponse; Stream lHttpWebResponseStream; //FileStream lFileStream = new FileStream(strFilePath, FileMode.Create); //int bytesRead; try { lHttpWebRequest = (HttpWebRequest)WebRequest.Create(strNewURL); lHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"; lHttpWebRequest.Headers.Add("Accept-Language: en-us,en;q=0.5"); lHttpWebRequest.Headers.Add("Accept-Encoding: gzip,deflate"); lHttpWebRequest.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"); lHttpWebRequest.Referer = strImgURL; lHttpWebRequest.Accept = "image/png,*/*;q=0.5"; lHttpWebRequest.KeepAlive = true; lHttpWebResponse = (HttpWebResponse)lHttpWebRequest.GetResponse(); lHttpWebResponseStream = lHttpWebRequest.GetResponse().GetResponseStream(); if (lHttpWebResponse.ContentType.IndexOf("image") < 0) { //if (lFileStream != null) // lFileStream.Close(); return false; } if (lHttpWebResponse.ContentType.ToLower() == "image/jpeg") strFilePath += ".jpg"; else if (lHttpWebResponse.ContentType.ToLower() == "image/gif") strFilePath += ".gif"; else if (lHttpWebResponse.ContentType.ToLower() == "image/png") strFilePath += ".png"; string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } lHttpWebResponseStream.Close(); System.Net.WebClient client = new WebClient(); client.Headers.Add("Accept-Language: en-us,en;q=0.5"); client.Headers.Add("Accept-Encoding: gzip,deflate"); client.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = strImgURL.Substring(strImgURL.IndexOf("?image=") + 7); strFilePath = strFilePath.Remove(strFilePath.Length - 37, 37); if (strImgURL.EndsWith("jpg")) strFilePath += ".jpg"; else if (strImgURL.EndsWith("gif")) strFilePath += ".gif"; else if (strImgURL.EndsWith("png")) strFilePath += ".png"; try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } string strNewURL = string.Empty; strNewURL = strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1); int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("<img src=http://fileserver"); if (iStartSRC < 0) { return false; } iStartSRC += 9; iEndSRC = strIVPage.IndexOf("></td>", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC); ////////////////////////////////////////////////////////////////////////// try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Returns if the Image was downloaded /// </returns> protected override bool DoDownload() { var imageURL = ImageLinkURL; var filePath = string.Empty; if (EventTable.ContainsKey(imageURL)) { return true; } try { if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } var cacheObject = new CacheObject { IsDownloaded = false, FilePath = filePath, Url = imageURL }; try { EventTable.Add(imageURL, cacheObject); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(imageURL)) { return false; } EventTable.Add(imageURL, cacheObject); } var page = GetImageHostPage(ref imageURL); if (page.Length < 10) { return false; } string imageDownloadURL = imageURL.Replace("share.php", "image.php"); var match = Regex.Match(page, @"title=(?<title>.*?) - ", RegexOptions.Compiled); if (match.Success) { filePath = match.Groups["title"].Value; } else { return false; } filePath = Path.Combine(this.SavePath, Utility.RemoveIllegalCharecters(filePath)); if (!Directory.Exists(this.SavePath)) { Directory.CreateDirectory(this.SavePath); } ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(filePath); if (filePath != newAlteredPath) { filePath = newAlteredPath; ((CacheObject)EventTable[this.ImageLinkURL]).FilePath = filePath; } try { var webClient = new WebClient(); webClient.Headers.Add(string.Format("Referer: {0}", imageURL)); webClient.DownloadFile(imageDownloadURL, filePath); webClient.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[imageURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[imageURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[imageURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(this.ImageLinkURL); return false; } ((CacheObject)EventTable[this.ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[this.ImageLinkURL]).FilePath = filePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strNewURL = strImgURL; strNewURL = strNewURL.Replace("i.cc/i/", "i.cc/im/"); string strFilePath = string.Empty; try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } ////////////////////////////////////////////////////////////////////////// try { HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(strNewURL); req.UserAgent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"; req.Referer = strNewURL; HttpWebResponse res = (HttpWebResponse)req.GetResponse(); string sRes = res.Headers.ToString().Substring(res.Headers.ToString().IndexOf("filename") + 10); sRes = sRes.Remove(sRes.IndexOf("\"")); strFilePath += sRes; string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } Stream resStream = res.GetResponseStream(); Image ImageDozerImage = Image.FromStream(resStream); ImageDozerImage.Save(strFilePath); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring(strImgURL.IndexOf("image=") + 6); // Get rid of the ImageVenue randomized tag // Old Remover /*int iTagStart = 0; iTagStart = strFilePath.IndexOf("_"); if (iTagStart >= 0) strFilePath = strFilePath.Substring(iTagStart + 1); */ try { Match a = Regex.Match(strFilePath, @"(^\d{5})_"); Match b = Regex.Match(strFilePath, @"(^\d{3})_"); Match c = Regex.Match(strFilePath, @"(^\w{3})_"); Match d = Regex.Match(strFilePath, @"(^\w\d\w)_"); Match e = Regex.Match(strFilePath, @"(^\d\w\d)_"); Match f = Regex.Match(strFilePath, @"(^\d\d\w)_"); Match g = Regex.Match(strFilePath, @"(^\w\d\d)_"); Match h = Regex.Match(strFilePath, @"(^\d{3}\w\d)_"); Match i = Regex.Match(strFilePath, @"(^\d\w\d\w\d)_"); Match j = Regex.Match(strFilePath, @"(^\w\d\w\d\w)_"); Match k = Regex.Match(strFilePath, @"(^\w\d\d\d\w)_"); Match l = Regex.Match(strFilePath, @"(^\w\d\w\d\d)_"); Match m = Regex.Match(strFilePath, @"(^\d\w\d\d\w)_"); Match n = Regex.Match(strFilePath, @"(^\d\w\w\d\w)_"); Match o = Regex.Match(strFilePath, @"(^\d\w\w\d\d)_"); Match p = Regex.Match(strFilePath, @"(^\d\w\w\w\d)_"); Match q = Regex.Match(strFilePath, @"(^\d\w\d\d\w)_"); Match r = Regex.Match(strFilePath, @"(^\d\w\d\w\w)_"); Match s = Regex.Match(strFilePath, @"(^\d\d\w\w\w)_"); Match t = Regex.Match(strFilePath, @"(^\d\d\d\w\w)_"); Match u = Regex.Match(strFilePath, @"(^\d\w\w\w\w)_"); Match v = Regex.Match(strFilePath, @"(^\w\d\d\w\d)_"); Match w = Regex.Match(strFilePath, @"(^\w\d\d\w\w)_"); Match x = Regex.Match(strFilePath, @"(^\w\w\w\w\d)_"); Match y = Regex.Match(strFilePath, @"(^\w\w\d\d\d)_"); Match z = Regex.Match(strFilePath, @"(^\w\w\w\d\d)_"); Match aa = Regex.Match(strFilePath, @"(^\w\w\w\d\w)_"); Match bb = Regex.Match(strFilePath, @"(^\w\w\d\w\w)_"); Match cc = Regex.Match(strFilePath, @"(^\w\w\d\w\d)_"); Match dd = Regex.Match(strFilePath, @"(^\w\w\d\d\w)_"); Match ee = Regex.Match(strFilePath, @"(^\w\w\d\d\d)_"); Match ff = Regex.Match(strFilePath, @"(^\w\d\w\w\w)_"); Match gg = Regex.Match(strFilePath, @"(^\w\d\w\w\d)_"); Match hh = Regex.Match(strFilePath, @"(^\w{5})_"); if (a.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d{5})_", ""); } else if (b.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d{3})_", ""); } else if (c.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w{3})_", ""); } else if (d.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w)_", ""); } else if (e.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d)_", ""); } else if (f.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\d\w)_", ""); } else if (g.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d)_", ""); } else if (h.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d{3}\w\d)_", ""); } else if (i.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\w\d)_", ""); } else if (j.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\d\w)_", ""); } else if (k.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d\d\w)_", ""); } else if (l.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\d\d)_", ""); } else if (m.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\d\w)_", ""); } else if (n.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\d\w)_", ""); } else if (o.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\d\d)_", ""); } else if (p.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\w\d)_", ""); } else if (q.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\d\w)_", ""); } else if (r.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\d\w\w)_", ""); } else if (s.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\d\w\w\w)_", ""); } else if (t.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\d\d\w\w)_", ""); } else if (u.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\d\w\w\w\w)_", ""); } else if (v.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d\w\d)_", ""); } else if (w.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\d\w\w)_", ""); } else if (x.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\w\w\d)_", ""); } else if (y.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\d\d)_", ""); } else if (z.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\w\d\d)_", ""); } else if (aa.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\w\d\w)_", ""); } else if (bb.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\w\w)_", ""); } else if (cc.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\w\d)_", ""); } else if (dd.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\d\w)_", ""); } else if (ee.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\w\d\d\d)_", ""); } else if (ff.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\w\w)_", ""); } else if (gg.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w\d\w\w\d)_", ""); } else if (hh.Success) { strFilePath = Regex.Replace(strFilePath, @"(^\w{5})_", ""); } strFilePath = Regex.Replace(strFilePath, @"_(\d{3})_(\d{4})lo", ""); strFilePath = Regex.Replace(strFilePath, @"_(\d{3})_(\d{3})lo", ""); strFilePath = Regex.Replace(strFilePath, @"_(\d{3})_(\d{2})lo", ""); strFilePath = Regex.Replace(strFilePath, @"_(\d{3})lo", ""); } catch (Exception) { // } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject ccObj = new CacheObject {IsDownloaded = false, FilePath = strFilePath, Url = strImgURL}; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } // Bypass for Random "Continue to your Image " Button string sImageURL = strImgURL.Substring(strImgURL.LastIndexOf("_") + 1); if (strImgURL.EndsWith("lo.jpg") || strImgURL.EndsWith("lo.JPG") || strImgURL.EndsWith("lo.jpeg")) { sImageURL = sImageURL.Replace(strImgURL.Substring(strImgURL.LastIndexOf("lo")), ""); } sImageURL = strImgURL + "&loc=loc" + sImageURL; string strIvPage = GetImageHostPage(ref sImageURL); if (strIvPage.Length < 10) { return false; } string strNewURL = string.Empty; int iStartIMG = 0; int iStartSRC = 0; int iEndSRC = 0; iStartIMG = strIvPage.IndexOf("<img id=\"thepic\""); if (iStartIMG < 0) { return false; } iStartSRC = strIvPage.IndexOf("SRC=\"", iStartIMG); if (iStartSRC < 0) { return false; } iStartSRC += 5; iEndSRC = strIvPage.IndexOf("\" alt=\"", iStartSRC); if (iEndSRC < 0) { return false; } strNewURL = string.Format("{0}{1}", strImgURL.Substring(0, strImgURL.IndexOf("/", 8) + 1), strIvPage.Substring(iStartSRC, iEndSRC - iStartSRC)); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); NewAlteredPath = NewAlteredPath.Replace("lo.", "."); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } strFilePath = Utility.CheckPathLength(strFilePath); ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Return if Downloaded or not /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } string strFilePath = string.Empty; CacheObject cacheItem = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, cacheItem); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } this.EventTable.Add(strImgURL, cacheItem); } string newPage = this.GetImageHostPage(strImgURL); if (newPage.Length < 10) { return false; } string strNewURL; var m = Regex.Match(newPage, @"onLoad=\""ImgFitWin\('img',([0-9]*)\)\"" src=\""(?<inner>[^\""]*)\""", RegexOptions.Singleline); if (m.Success) { strNewURL = m.Groups["inner"].Value; } else { return false; } strFilePath = string.Format("{0}.{1}", strImgURL.Substring(strImgURL.IndexOf("id=") + 3), strNewURL.Substring(strNewURL.IndexOf("ext=") + 4, 3)); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != newAlteredPath) { strFilePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", strImgURL)); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
/// <summary> /// Do the Download /// </summary> /// <returns> /// Returns if download was successfull /// </returns> protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; try { if (!Directory.Exists(SavePath)) { Directory.CreateDirectory(SavePath); } } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } CacheObject ccObj = new CacheObject { IsDownloaded = false, FilePath = strFilePath, Url = strImgURL }; try { EventTable.Add(strImgURL, ccObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } EventTable.Add(strImgURL, ccObj); } string startSrc = string.Format( "SRC=\"http://{0}", strImgURL.Substring(strImgURL.IndexOf(@"/?") + 2, 3).ToLower()); string sPage = GetImageHostPage(ref strImgURL); if (sPage.Length < 10) { return false; } int iStartSrc = sPage.IndexOf(startSrc); if (iStartSrc < 0) { return false; } iStartSrc += startSrc.Length; int iEndSrc = sPage.IndexOf("\"", iStartSrc); if (iEndSrc < 0) { return false; } string strNewURL = string.Format( "http://{0}{1}", strImgURL.Substring(strImgURL.IndexOf(@"/?") + 2, 3).ToLower(), sPage.Substring(iStartSrc, iEndSrc - iStartSrc)); strFilePath = strNewURL.Substring(strImgURL.LastIndexOf("/") + 1); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); ////////////////////////////////////////////////////////////////////////// string newAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != newAlteredPath) { strFilePath = newAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add(string.Format("Referer: {0}", strImgURL)); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic = ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; if (strImgURL.Contains("_")) { strFilePath = strImgURL.Substring(strImgURL.IndexOf("_") + 1); } else { strFilePath = strImgURL.Substring(strImgURL.LastIndexOf("?id=") + 13); } try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = string.Empty; try { strIVPage = GetRealLink(strImgURL); } catch (Exception) { return false; } string strNewURL = string.Empty; int iStartSRC = 0; int iEndSRC = 0; iStartSRC = strIVPage.IndexOf("<img src='."); if (iStartSRC < 0) { return false; } iStartSRC += 11; iEndSRC = strIVPage.IndexOf("' id=\"image\"", iStartSRC); if (iEndSRC < 0) { return false; } string sAltUrl = strImgURL; sAltUrl = sAltUrl.Remove(strImgURL.IndexOf("/img.php")); strNewURL = string.Format("{0}{1}", sAltUrl, strIVPage.Substring(iStartSRC, iEndSRC - iStartSRC)); ////////////////////////////////////////////////////////////////////////// try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } string strFilePath = string.Empty; strFilePath = strImgURL.Substring(strImgURL.IndexOf("images/") + 7); strFilePath = strFilePath.Remove(strFilePath.Length - 37, 37); strFilePath += ".jpg"; try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } ////////////////////////////////////////////////////////////////////////// try { string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } WebClient client = new WebClient(); client.DownloadFile(strImgURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }
protected override bool DoDownload() { string strImgURL = ImageLinkURL; if (EventTable.ContainsKey(strImgURL)) { return true; } try { if (!Directory.Exists(SavePath)) Directory.CreateDirectory(SavePath); } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; return false; } //strFilePath = mSavePath + "\\" + Utility.RemoveIllegalCharecters(strFilePath); //strFilePath; CacheObject CCObj = new CacheObject(); CCObj.IsDownloaded = false; //CCObj.FilePath = strFilePath; CCObj.Url = strImgURL; try { EventTable.Add(strImgURL, CCObj); } catch (ThreadAbortException) { return true; } catch (Exception) { if (EventTable.ContainsKey(strImgURL)) { return false; } else { EventTable.Add(strImgURL, CCObj); } } string strIVPage = GetImageHostPage(ref strImgURL); if (strIVPage.Length < 10) { return false; } // Content int iStart = 0; int iEnd = 0; iStart = strIVPage.IndexOf("<div class=\"photoCaption\">"); if (iStart < 0) { return false; } iStart += 27; iEnd = strIVPage.IndexOf("</div><!-- end photoCaption -->", iStart); if (iEnd < 0) { return false; } string content = strIVPage.Substring(iStart, iEnd - iStart); // Real Filename string strFilePath = content; strFilePath = strFilePath.Replace(strFilePath.Substring(strFilePath.IndexOf(" ")), "").Trim(); strFilePath = Path.Combine(SavePath, Utility.RemoveIllegalCharecters(strFilePath)); CCObj.FilePath = strFilePath; // URL int iStartSRC = 0; int iEndSRC = 0; iStartSRC = content.IndexOf("<a href=\""); if (iStartSRC < 0) { return false; } iStartSRC += 9; iEndSRC = content.IndexOf("\" target=\"_blank\">View Original Size</a>", iStartSRC); if (iEndSRC < 0) { return false; } string strNewURL = content.Substring(iStartSRC, iEndSRC - iStartSRC); ////////////////////////////////////////////////////////////////////////// string NewAlteredPath = Utility.GetSuitableName(strFilePath); if (strFilePath != NewAlteredPath) { strFilePath = NewAlteredPath; ((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; } try { WebClient client = new WebClient(); client.Headers.Add("Referer: " + strImgURL); client.Headers.Add("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6"); client.DownloadFile(strNewURL, strFilePath); client.Dispose(); } catch (ThreadAbortException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (IOException ex) { //MainForm.DeleteMessage = ex.Message; //MainForm.Delete = true; ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return true; } catch (WebException) { ((CacheObject)EventTable[strImgURL]).IsDownloaded = false; ThreadManager.GetInstance().RemoveThreadbyId(ImageLinkURL); return false; } ((CacheObject)EventTable[ImageLinkURL]).IsDownloaded = true; //CacheController.GetInstance().u_s_LastPic = ((CacheObject)eventTable[mstrURL]).FilePath; CacheController.Instance().LastPic =((CacheObject)EventTable[ImageLinkURL]).FilePath = strFilePath; return true; }