General.Web/Jobs/RequestUrlJob.cs
(完整代码) 1KBusing Quartz;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using General.Core.Common;
using Microsoft.Extensions.Logging;
using System.Diagnostics;
using System.Net.Http;
namespace General.Mvc.Jobs
{
public class RequestUrlJob : IJob
{
private readonly ILogger<RequestUrlJob> logger;
public RequestUrlJob(ILogger<RequestUrlJob> logger)
{
this.logger = logger;
}
public Task Execute(IJobExecutionContext context)
{
var jobData = context.JobDetail.JobDataMap;//获取Job中的参数
var url = jobData.GetString("url");
return Task.Run(async () =>
{
Stopwatch stopwatch = Stopwatch.StartNew();
var httpclientHandler = new HttpClientHandler();
httpclientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, error) => true;
using (HttpClient client = new HttpClient(httpclientHandler))
{
HttpResponseMessage response = await client.GetAsync(url);
var resContent = await response.Content.ReadAsStringAsync();
resContent = StringExtension.HtmlEncode(resContent);
var timeElapsed = stopwatch.Elapsed;
logger.LogInformation(new Exception("结果:"+ response.StatusCode.ToString()+ " 响应内容:"+ resContent.Substring(0, resContent.Length>100?100: resContent.Length)), "定时任务访问Url " + url + " 耗时:" + timeElapsed.Milliseconds.ToString() + "ms");
}
});
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
