首页 > Web开发 > 详细

netcore 使用Topshelf 每天 自动模拟向乐柠签到

时间:2019-12-26 13:24:38      阅读:90      评论:0      收藏:0      [点我收藏+]

前言

  用友旗下乐柠是我们经销商程序员定期学习的地方 培训等,每天签到能拿积分换去课程来学习ERP相关,每天签到太累

技术分享图片

 

 

 

调度器直接上一篇文章(netcore 使用Topshelf 每天定时备份云服务器数据库备份)的 轮子WooDispatch 

 

技术分享图片

 

 

 技术分享图片

 

 

 

 

 

任务及模拟登录过程

 

public class LeningJob : IJob
    {
        public LeningConfig leningConfig;
        public ILogService logService;

        public LeningJob(IOptions<LeningConfig> options,ILogService _logService)
        {
            leningConfig= options.Value;
            logService = _logService;
        }

        public Task Execute(IJobExecutionContext context)
        {

            var Jobname = $"{context.JobDetail.Key.Group}.{context.JobDetail.Key.Name}";

            RestClient restClient = new RestClient("http://www.lening100.com/login!userLoginn.action");
            var client = new RestClient("http://www.lening100.com/login!userLoginn.action");
            client.Timeout = -1;
            var request = new RestRequest(Method.POST);
            request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            request.AddHeader("Host", "www.lening100.com");

            request.AddParameter("username",  leningConfig.UserName);
            request.AddParameter("password",  leningConfig.Password);
            IRestResponse response = client.Execute(request);
            var result =  response.Content;
            var clientqd = new RestClient("http://www.lening100.com/new-pages/attend/user!userAttend.action");
            clientqd.Timeout = -1;
            var requestqd = new RestRequest(Method.POST);
            requestqd.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            requestqd.AddHeader("Host", "www.lening100.com");
            for (int i = 0; i < response.Cookies.Count(); i++)
            {
                requestqd.AddParameter(response.Cookies[i].Name, response.Cookies[i].Value,ParameterType.Cookie);
            }
            var date = DateTime.Now;
            string data = $"year={date.ToString("yyyy")}&month={date.ToString("MM")}&day={date.ToString("dd")}";
            requestqd.AddParameter("year", date.ToString("yyyy"));
            requestqd.AddParameter("month", date.ToString("MM"));
            requestqd.AddParameter("day", date.ToString("dd"));
            IRestResponse responseqd = clientqd.Execute(requestqd);
            if (!responseqd.IsSuccessful)
            {
                logService.Error(Jobname, $"签到失败 错误码:{(int)responseqd.StatusCode}", responseqd.Content);
            }
            else
            {
                if (responseqd.Content == "ok")
                {
                    logService.Error(Jobname, "签到成功");
                }
                else if (responseqd.Content == "2")
                {
                    
                    logService.Warn(Jobname, $"今天已经签到过了");
                }
                else
                {
                    logService.Info(Jobname, responseqd.Content);
                }
            }
            

            return Task.CompletedTask;
        }
    }

  

 

netcore 使用Topshelf 每天 自动模拟向乐柠签到

原文:https://www.cnblogs.com/leoxjy/p/12101323.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!