コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }