예제 #1
0
        public async Task Get_link_fail()
        {
            //Arrange
            var fakeLink = new Link
            {
                FoundOn   = "http://www.google.com",
                Address   = "http://www.test.com",
                Date      = DateTime.Now,
                IsCrawled = true,
                Response  = "Fake response"
            };
            var options = new DbContextOptionsBuilder <CrawlerContext>()
                          .UseInMemoryDatabase("Test")
                          .Options;

            var context = new CrawlerContext(options);

            context.Add(fakeLink);
            context.SaveChanges();
            //Act
            var linksController = new LinksController(context);
            var actionResult    = await linksController.GetLink(5);

            //Assert
            Assert.IsInstanceOfType(actionResult.Result, typeof(NotFoundResult));
        }
예제 #2
0
파일: Form1.cs 프로젝트: JesseClarkND/tools
        private void _btnStartFolder_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(folderBrowser.SelectedPath))
            {
                _lblDir.Text = "Select a dir, dork";
                return;
            }

            string[] files = Directory.GetFiles(folderBrowser.SelectedPath, "*.txt", SearchOption.AllDirectories);

            _resultAction      = new Action <IRequest>(Write);
            _pageCounterAction = new Action(UpdateSiteCount);
            FileSaver.FileName = "SocialiteFindings-" + DateTime.Now.ToString("MM-dd-yyyy-hh-mm-ss") + ".txt";

            foreach (string file in files)
            {
                string[] lines = File.ReadAllLines(file);
                foreach (string line in lines)
                {
                    if (String.IsNullOrEmpty(line))
                    {
                        continue;
                    }
                    CrawlerContext.Initialize();
                    CrawlerContext.LightMode = true;
                    CrawlerContext.Depth     = 4;

                    CrawlerContext.SetURL(line);
                    Crawler.CrawlSite(_resultAction, _pageCounterAction);
                }
            }
        }
예제 #3
0
 public async Task InitializeAsync(CrawlerContext ctx)
 {
     if (ctx == null)
     {
         throw new ArgumentNullException(nameof(ctx));
     }
     await this._initialize(ctx);
 }
예제 #4
0
파일: Form1.cs 프로젝트: JesseClarkND/tools
 private void Form1_Load(object sender, EventArgs e)
 {
     _radBrute.Checked = true;
     CrawlerContext.Initialize();
     _pnlPortsSelect.Visible = false;
     _txtURL.Text            = "blackdoorsec.net";
     _chkScreenshot.Enabled  = false;
 }
예제 #5
0
 public Task <bool> ShouldTerminateAsync(CrawlerContext ctx)
 {
     if (ctx == null)
     {
         throw new ArgumentNullException(nameof(ctx));
     }
     return(this._shouldTerminate(ctx));
 }
예제 #6
0
파일: Form1.cs 프로젝트: JesseClarkND/tools
        private void Form1_Load(object sender, EventArgs e)
        {
            CrawlerContext.Initialize();
            CrawlerContext.LightMode = true;
            _txtURL.Text             = "https://www.buzzfeed.com";//"http://www.algolia.com/press";//

            foreach (string domain in Common.CommonDomainData.Select(x => x.DomainName))
            {
                _lstTarget.Items.Add(domain);
            }
        }
예제 #7
0
파일: Form1.cs 프로젝트: JesseClarkND/tools
        private void _bgwScanner_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                //  CrawlerContext.SessionFileName = "Scraper";
                //   Core.SQLite.Accessor.Settings.ConnectionString = "data source=" + CrawlerContext.SessionFileName;
                CrawlerContext.SetURL(_txtURL.Text);

                _resultAction      = new Action <IRequest>(Write);
                _pageCounterAction = new Action(UpdateSiteCount);

                Crawler.CrawlSite(_resultAction, _pageCounterAction);
                //LinearCrawler.CrawlSite(DataGridWrite, SiteCounter);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Scanner Error: " + ex.Message);
            }
        }
예제 #8
0
        private TResult Execute <TResult>(Func <CrawlerContext, TResult> func)
        {
            try
            {
                TResult result = default(TResult);

                if (func is null)
                {
                    return(result);
                }

                using (var context = new CrawlerContext())
                {
                    result = func.Invoke(context);
                }

                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #9
0
 protected override DbSet <ProxyWebApi> GetDbSet(CrawlerContext crawlerContext)
 {
     return(crawlerContext.ProxyWebApis);
 }
예제 #10
0
 public SearchController(ILogger <SearchController> logger, CrawlerContext db, EsConnectionOptions esConnectionOptions)
 {
     _logger = logger;
     this.db = db;
     _esConnectionOptions = esConnectionOptions;
 }
예제 #11
0
 public CofeeLandsController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #12
0
 public SaigonsController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #13
0
 public TiaSangController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #14
0
 public ViettimesController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #15
0
 protected override DbSet <Work> GetDbSet(CrawlerContext crawlerContext)
 {
     return(crawlerContext.Works);
 }
예제 #16
0
 public NhadatController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #17
0
 public CungcauController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #18
0
 public UriPageController(ILogger <UriPageController> logger, CrawlerContext db)
 {
     _logger = logger;
     this.db = db;
 }
예제 #19
0
 public EfBaseRepository(CrawlerContext context)
 {
     _context = context;
     _table   = _context.Set <TEntity>();
 }
예제 #20
0
 public TopbankController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #21
0
 protected override DbSet <Author> GetDbSet(CrawlerContext crawlerContext)
 {
     return(crawlerContext.Authors);
 }
예제 #22
0
 public TuoitrecuoiController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #23
0
 public VnexpressController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #24
0
 public GenericRepository()
 {
     _dbContext = new CrawlerContext();
     _entities  = _dbContext.Set <TEntity>();
 }
예제 #25
0
 protected override DbSet <DownLoadFile> GetDbSet(CrawlerContext crawlerContext)
 {
     return(crawlerContext.DownLoadFiles);
 }
예제 #26
0
        //private static BaseHelper<T> instance;
        //public static BaseHelper<T> Instance
        //{
        //    get
        //    {
        //        if (instance is null)
        //        {
        //            instance = new BaseHelper<T>();
        //        }

        //        return instance;
        //    }
        //}

        protected virtual DbSet <T> GetDbSet(CrawlerContext crawlerContext)
        {
            return(null);
        }
예제 #27
0
 public SpidersController(CrawlerContext context, IConfiguration config)
 {
     _config  = config;
     _context = context;
 }
예제 #28
0
 public LinksController(CrawlerContext context)
 {
     _context = context;
     //_hubContext = hubContext; //uncomment to use SignalR
 }
예제 #29
0
 public DantriController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }
예제 #30
0
 public ThoibaoController(CrawlerContext context, IConfiguration config) : base(context, config)
 {
 }