有道云笔记 文件 永久直链解析(无需服务器).NET 版本

 2023-12-07    0 条评论    296 浏览 C# 解析

借用了坛友帖子的思路 有道云笔记永久直链解析 https://www.52pojie.cn/thread-1823448-1-1.html

有道云笔记 文件 永久直链解析(无需服务器) - 『原创发布区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

(出处: 吾爱破解论坛)

主要是想学习一下技术并看看原理,原来并不复杂。 主要可以用于软件分发,版本更新。相当于一个免费的服务器吧,再使用短地址来生成一下短地址,那是非常完美了。

1.有道云笔记分享地址:https://note.youdao.com/s/cusiy8WX 2.使用本工具解析的地址:http://note.youdao.com/yws/api/personal/file/WEBfb1d035ffc78cb76efe912ac254fcb0b?method=download&inline=true&shareKey=bc6ee9ebf60cba8c2bd793ad30dec7f1 3.使用新浪短网址生成的地址:https://dwz.win/a6ZP

新浪短网址 可以在这个地址生成:新浪短网址 短网址生成 网址缩短服务 - 短网址 (sina.lt)

觉着不错可以给个免费的评分,谢谢。

工具在这个文件夹下,自己也可以编译。

Public Class Form1
 
    Private Sub DownText(strUrl As String)
        Dim csStopwatch As New Stopwatch
        strUrl = GetHttpResutl(strUrl)
        Dim strPattern As String = "id=(.*?)&type="
        Dim match As Match = Regex.Match(strUrl, strPattern)
        If (match.Success) Then
            Dim strID As String = match.Groups(0).Value.Replace("id=", "").Replace("&type=", "")
            strUrl = $"http://note.youdao.com/yws/public/note/{strID}?editorType=0&cstk=cGtjFpHb"
            Dim jsonResult As String = GetHttpResutl(strUrl, False)
            Dim csRootobject As Rootobject = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Rootobject)(jsonResult)
            Dim strP As String = csRootobject.p.Replace("/", "")
            TextBox2.Text = $"http://note.youdao.com/yws/api/personal/file/{strP}?method=download&inline=true&shareKey={strID}"
        Else
            MsgBox("分享链接无法解析", MsgBoxStyle.OkOnly, "提示")
        End If
        csStopwatch.Stop()
    End Sub
 
    Private Function GetHttpResutl(strUrl As String, Optional ByVal bolUrl As Boolean = True) As String
 
        Using httpClient As New HttpClient()
            Try
                ' 发起 GET 请求
                Dim response As HttpResponseMessage = httpClient.GetAsync(strUrl).Result
                ' 确保请求成功
                response.EnsureSuccessStatusCode()
                ' 读取 JSON 数据
                If bolUrl Then
                    Return response.RequestMessage.RequestUri.ToString
                Else
                    Return response.Content.ReadAsStringAsync().Result
                End If
            Catch ex As HttpRequestException
                MsgBox($"发生 HTTP 请求错误: {ex.Message}", MsgBoxStyle.OkOnly, "提示")
                Return ""
            End Try
        End Using
    End Function
 
 
 
    Private Sub Btn_JX_Click(sender As Object, e As EventArgs) Handles Btn_JX.Click
        TextBox2.Text = String.Empty
        DownText(txt_Url.Text)
    End Sub
 
 
End Class
 
 
 
 
Public Class Rootobject
    Public Property p As String
    Public Property ct As Integer
    Public Property su As Object
    Public Property pr As Integer
    Public Property au As Object
    Public Property pv As Integer
    Public Property mt As Integer
    Public Property sz As Integer
    Public Property domain As Integer
    Public Property tl As String
    Public Property isFinanceNote As Boolean
End Class