コード例 #1
0
ファイル: Client.cs プロジェクト: anodern/DesignPattern
        public static void Test()
        {
            ISearch search = new ProxySearch();

            search.search("123", "keyword1");
            search.search("12345", "keyword2");
        }
コード例 #2
0
ファイル: UcPoolTranser.cs プロジェクト: chenjunsheep/Sxh
        private void gridTransferPool_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            var grid = sender as DataGridView;

            if (grid != null)
            {
                var projectId = TypeParser.GetInt32Value(grid.Rows[e.RowIndex].Cells[Namespace.GridColProjectId].Value);
                System.Diagnostics.Process.Start(ProxySearch.GetPathTranserDetail(projectId));
            }
        }
コード例 #3
0
        static void Main(string[] args)
        {
            ISearch isearch = new ProxySearch();

            isearch.SearchSomething("Jason", "baidu");

            isearch.SearchSomething("LiLei", "baidu");

            Console.ReadKey();
        }
コード例 #4
0
ファイル: Main.cs プロジェクト: chenjunsheep/Sxh
        private void PerformSearching(CancellationManager manager)
        {
            Task.Factory.StartNew(() => {
                var settingInfo = BusinessCache.Settings;
                var rd          = new Random();
                var proxySearch = new ProxySearch();
                try
                {
                    while (!manager.Token.IsCancellationRequested)
                    {
                        var delay = (rd.Next(0, settingInfo.DelayTransfer));

                        var searchProxy = BusinessCache.UserProxies.GetRandomProxy(settingInfo.PageDiff);
                        if (searchProxy != null)
                        {
                            try
                            {
                                var list = new List <ClientPortionTransferItem>();
                                for (var i = 0; i < settingInfo.SearchingKeywords.Count; i++)
                                {
                                    var searchingKey = settingInfo.SearchingKeywords[i];
                                    for (var j = settingInfo.PageFrom; j <= settingInfo.PageTo; j++)
                                    {
                                        var subList = proxySearch.SearchAsync(searchProxy.TokenOffical, ProxySearch.Parameter.Create(searchingKey, j)).Result;
                                        if (subList != null && subList.Count > 0)
                                        {
                                            list.AddRange(subList.rowSet);
                                        }
                                        if (j < settingInfo.PageTo)
                                        {
                                            Task.Delay(1000);
                                        }
                                    }
                                    if (i < settingInfo.SearchingKeywords.Count - 1)
                                    {
                                        Task.Delay(1000);
                                    }
                                }

                                BusinessCache.PoolTranser.Clear();
                                BusinessCache.PoolTranser.AddRange(list);
                                BusinessCache.PoolTranser.UpdateFromPayment(BusinessCache.ProjectPayments);
                            }
                            catch (Exception ex)
                            {
                                LogManager.Instance.Error($"{ex.Message}");
                            }

                            var msg = $"{BusinessCache.PoolTranser.TopItem.GetProjectInformation()} {searchProxy.UserName} {settingInfo.FreqTransfer}s+{delay}s";
                            LogManager.Instance.Message(msg);
                        }
                        else
                        {
                            throw new Exception("no proxy found");
                        }

                        Task.Delay((settingInfo.FreqTransfer + delay) * 1000).Wait(manager.Token);
                    }
                    ;
                    manager.Token.ThrowIfCancellationRequested();
                }
                catch (Exception ex)
                {
                    LogManager.Instance.Error($"{ex.Message}");
                }
                finally
                {
                    manager.Dispose();
                }
            }, manager.Token);
        }