void EndDownloadAndParse(DownloaderObj obj) { object[] args = obj.Arg as object[]; IProxySiteProvider proxySiteProvider = args[0] as IProxySiteProvider; WaitObj waiter = args[1] as WaitObj; List <RatedProxy> proxies = null; proxies = proxySiteProvider.ParsePage(obj.DataStr); NotifyAboutProgress(waiter, proxies); }
public void BeginDownloadPages(int count, string uriStr, string replaseSubstr, IProxySiteProvider proxySiteProvider) { if (count == 0 || string.IsNullOrEmpty(uriStr) || string.IsNullOrEmpty(replaseSubstr) || proxySiteProvider == null) throw new ArgumentException("Bad argumenst"); WaitObj waiter = new WaitObj(count); for (int i = 0; i < count; i++) { Uri uri = new Uri(uriStr.Replace(replaseSubstr, i.ToString())); DownloaderObj obj = new DownloaderObj(uri, EndDownloadAndParse, true, null, CookieOptions.NoCookies, 10, new object[] { proxySiteProvider, waiter }); Downloader.Queue(obj); } }
public void BeginDownloadPages(int count, string uriStr, string replaseSubstr, IProxySiteProvider proxySiteProvider) { if (count == 0 || string.IsNullOrEmpty(uriStr) || string.IsNullOrEmpty(replaseSubstr) || proxySiteProvider == null) { throw new ArgumentException("Bad argumenst"); } WaitObj waiter = new WaitObj(count); for (int i = 0; i < count; i++) { Uri uri = new Uri(uriStr.Replace(replaseSubstr, i.ToString())); DownloaderObj obj = new DownloaderObj(uri, EndDownloadAndParse, true, null, CookieOptions.NoCookies, 10, new object[] { proxySiteProvider, waiter }); Downloader.Queue(obj); } }