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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。