LMS.service/LMS.Tools/HttpTool/IHttpService.cs

45 lines
1.3 KiB
C#

namespace LMS.Tools.HttpTool
{
/// <summary>
/// HTTP服务接口
/// </summary>
public interface IHttpService
{
/// <summary>
/// 下载文件并返回字节数组
/// </summary>
/// <param name="url">文件URL</param>
/// <param name="maxFileSize">最大文件大小限制(字节)</param>
/// <returns>文件字节数组</returns>
Task<byte[]?> DownloadFileAsync(string url, double maxFileSize);
/// <summary>
/// 发送GET请求
/// </summary>
/// <param name="url">请求URL</param>
/// <returns>响应内容</returns>
Task<string> GetAsync(string url);
/// <summary>
/// 发送POST请求
/// </summary>
/// <param name="url">请求URL</param>
/// <param name="content">请求内容</param>
/// <returns>响应内容</returns>
Task<string> PostAsync(string url, string content);
/// <summary>
/// 检查URL是否可访问
/// </summary>
/// <param name="url">要检查的URL</param>
/// <returns>是否可访问</returns>
Task<bool> IsUrlAccessibleAsync(string url);
/// <summary>
/// 获取URL的Content-Type
/// </summary>
/// <param name="url">要检查的URL</param>
/// <returns>Content-Type</returns>
Task<string?> GetContentTypeAsync(string url);
}
}