src/ZKEACMS.SpiderLog/Service/SearchEngineRequestHandler.cs

(完整代码) 1KB

/* http://www.zkea.net/ 
 * Copyright (c) ZKEASOFT. All rights reserved. 
 * http://www.zkea.net/licenses */

using Easy.Mvc.Extend;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZKEACMS.Event;

namespace ZKEACMS.SpiderLog.Service
{
    public class SearchEngineRequestHandler : IEventHandler
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly ISearchEngineManager _searchEngineManager;

        public SearchEngineRequestHandler(IHttpContextAccessor httpContextAccessor, ISearchEngineManager searchEngineManager)
        {
            _httpContextAccessor = httpContextAccessor;
            _searchEngineManager = searchEngineManager;
        }

        public void Handle(object entity, EventArg e)
        {
            if (_httpContextAccessor.HttpContext == null) return;
            StringValues userAgent = _httpContextAccessor.HttpContext.Request.Headers["User-Agent"];
            if (userAgent.Count == 0) return;

            var searchEngine = _searchEngineManager.Get(userAgent);
            if (searchEngine == null) return;

            _searchEngineManager.Log(searchEngine.Name, _httpContextAccessor.HttpContext.Request.Host.Host, _httpContextAccessor.HttpContext.Request.GetAbsoluteUrl());
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。