KCNLanzouDirectLink
Release | 下载NuGet包
KCNLanzouDirectLink Lanzou Cloud 공유 링크를 구문 분석하고 선형 링크를 얻는 데 사용되는 C# 기본 구현 라이브러리입니다. 로그인이나 타사 도구없이 Blueshu 클라우드 공유에 대한 직접적인 링크를 얻기위한 간단한 API를 제공합니다.
이 프로젝트는 다음 .NET 버전을 지원합니다.
.NET 6 , .NET 7 , .NET 8 및 이후 버전의 .NET. NUGET 패키지 관리자를 통해 KCNLanzouDirectLink 라이브러리를 설치할 수 있습니다.
Install-Package KCNLanzouDirectLink또는 .NET CLI를 통해 :
dotnet add package KCNLanzouDirectLink일반 링크에 대한 직선 링크를 얻으십시오
using KCNLanzouDirectLink ;
class Program
{
static async Task Main ( string [ ] args )
{
string shareUrl = "https://syxz.lanzoue.com/qwertyuiopas" ;
var ( state , link ) = await KCNLanzouLinkHelper . GetDirectLinkAsync ( shareUrl ) ;
if ( state == DownloadState . Success )
{
Console . WriteLine ( $ "直链地址: { link } " ) ;
}
else
{
Console . WriteLine ( $ "获取直链失败,状态: { state } " ) ;
}
}
}암호화 된 링크에 대한 직선 링크를 가져옵니다
using KCNLanzouDirectLink ;
class Program
{
static async Task Main ( string [ ] args )
{
string shareUrl = "https://syxz.lanzoue.com/qwertyuiopas" ;
string key = "your_encryption_key" ;
// 10 代表错误后重试次数。加密链接获取直链不稳定,推荐设置为10次。
var ( state , linkEncryption ) = await KCNLanzouLinkHelper . GetDirectLinkAsync ( shareUrl , key , 10 ) ;
if ( state == DownloadState . Success )
{
Console . WriteLine ( $ "直链地址: { linkEncryption } " ) ;
}
else
{
Console . WriteLine ( $ "获取直链失败,状态: { state } " ) ;
}
}
}대량 링크 공유 링크 직선 링크 (일반/암호화 된 링크의 혼합 획득 지원)
using KCNLanzouDirectLink ;
class Program
{
static async Task Main ( string [ ] args )
{
var urls = new List < Tuple < string , string > >
{
Tuple . Create ( "https://syxz.lanzoue.com/qwertyuiopas" , string . Empty ) ,
Tuple . Create ( "https://syxz.lanzouw.com/abcdefghijkl" , "your_encryption_key" )
} ;
// 该方法泛型传参允许实现 string 及 Tuple<string, string>。
var results = await KCNLanzouLinkHelper . GetDirectLinksAsync ( urls ) ;
foreach ( var ( url , state , link ) in results )
{
if ( state == DownloadState . Success )
{
Console . WriteLine ( $ " { url } 解析直链地址: { link } " ) ;
}
else
{
Console . WriteLine ( $ " { url } 获取直链失败,状态: { state } " ) ;
}
}
}
}링크 파일 정보를 얻습니다
using KCNLanzouDirectLink ;
class Program
{
static async Task Main ( string [ ] args )
{
string shareUrl = "https://syxz.lanzoue.com/qwertyuiopas" ;
string key = "your_encryption_key" ;
// true表示强制指定分享链接为加密链接类型。具体信息请查看方法重载。
var ( state , fileInfo ) = await KCNLanzouLinkHelper . GetFileInfoAsync ( true , shareUrl , key ) ;
if ( state == DownloadState . Success )
{
string message = $ "文件信息解析成功: n " +
$ "File info retrieved successfully: n " +
$ "文件名称\ File Name: { fileInfo . FileName } n " +
$ "文件大小\ File Size: { fileInfo . Size } n " +
$ "上传时间\ Upload Time: { fileInfo . UploadTime } n " +
$ "上传者\ Uploader: { fileInfo . Uploader } n " +
$ "运行平台\ Platform: { fileInfo . Platform } n " +
$ "文件描述\ Description: { fileInfo . Description } " ;
Console . WriteLine ( $ "直链地址: { message } " ) ;
}
else
{
Console . WriteLine ( $ "获取文件信息失败,状态: { state } " ) ;
}
}
} DownloadState 설명을 열거하십시오
public enum DownloadState
{
/// <summary>
/// 操作成功完成。
/// </summary>
Success ,
/// <summary>
/// 未提供有效的分享链接。
/// </summary>
UrlNotProvided ,
/// <summary>
/// 无法获取网页内容。分享链接无效?
/// </summary>
HtmlContentNotFound ,
/// <summary>
/// 无法解析加密信息。分享链接无效或密钥错误?
/// </summary>
PostsignNotFound ,
/// <summary>
/// 无法解析中间链接。
/// </summary>
IntermediateUrlNotFound ,
/// <summary>
/// 无法获取最终的直链地址。
/// </summary>
FinalUrlNotFound ,
/// <summary>
/// 未知错误,操作未成功完成。
/// </summary>
Error
} 파일 정보 수집 구조 클래스 LanzouFileInfo 의 설명
public class LanzouFileInfo
{
/// <summary>
/// 文件名称
/// </summary>
public string ? FileName { get ; set ; }
/// <summary>
/// 上传时间
/// </summary>
public string ? UploadTime { get ; set ; }
/// <summary>
/// 文件大小
/// </summary>
public string ? Size { get ; set ; }
/// <summary>
/// 上传者
/// </summary>
public string ? Uploader { get ; set ; }
/// <summary>
/// 运行平台
/// </summary>
public string ? Platform { get ; set ; }
/// <summary>
/// 文件描述
/// </summary>
public string ? Description { get ; set ; }
} 클래스 라이브러리 데모를 보려면 github 저장소로 이동하십시오 : https://github.com/jddkcn/kcnlanzoudirectlink
이 프로젝트는 A-GPLV3 라이센스 계약을 사용합니다.
질문, 개선 제안 또는 직접 풀 요청을 제출하십시오!