Common/Web/MusicHttpClient.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace LisMusic.Common
{
    public enum ContentType
    {
        /// <summary>
        /// application/x-www-form-urlencoded
        /// </summary>
        AppForm,

        /// <summary>
        /// application/json
        /// </summary>
        AppJson,

        /// <summary>
        /// text/xml
        /// </summary>
        TxtXml
    }

    public class MusicHttpClient
    {
        protected readonly HttpClient _httpClient;
        protected HttpResponseMessage _httpResponse;
        protected readonly Encoding _encoding = Encoding.UTF8;

        public MusicHttpClient(HttpClient httpClient)
        {
            //httpClient.BaseAddress = new Uri("https://cnote.cn/");
            httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36");
            httpClient.Timeout = new TimeSpan(0,0,30); //30秒超时
            _httpClient = httpClient;
        }

        /// <summary>
        /// Send
        /// </summary>
        /// <param name="request">Http请求消息</param>
        /// <returns></returns>
        protected virtual async Task<string> SendAsync(HttpRequestMessage request)
        {
            using var response = await _httpClient.SendAsync(request);
            _httpResponse = response;
            //response.EnsureSuccessStatusCode();
            //using var responseStream = await response.Content.ReadAsStreamAsync();
            //return await JsonSerializer.DeserializeAsync<IEnumerable<string>>(responseStream);
            if (response.IsSuccessStatusCode)
            {
                return _encoding.GetString(await response.Content.ReadAsByteArrayAsync());
            }
后面还有 145 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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