mirror of
https://github.com/hama3254/Crunchyroll-Downloader-v3.0.git
synced 2024-12-26 08:01:50 +01:00
fixes funimation
fix funimation request without cookie added error handling for unavalible resolution on funimation
This commit is contained in:
parent
c1bcb32832
commit
87d2c682fb
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -161,9 +161,15 @@ Public Class GeckoFX
|
|||||||
'ElseIf CBool(InStr(WebBrowser1.Url.ToString, "https://www.anime-on-demand.de/anime/")) Then
|
'ElseIf CBool(InStr(WebBrowser1.Url.ToString, "https://www.anime-on-demand.de/anime/")) Then
|
||||||
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "funimation.com/player")) Then
|
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "funimation.com/player")) Then
|
||||||
'todo softsub download
|
'todo softsub download
|
||||||
Dim SubTitle1() As String = WebBrowser1.Document.Body.OuterHtml.Split(New String() {".srt"}, System.StringSplitOptions.RemoveEmptyEntries)
|
'MsgBox(WebBrowser1.Document.Body.OuterHtml)
|
||||||
Dim SubTitle2() As String = SubTitle1(0).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
If InStr(WebBrowser1.Document.Body.OuterHtml, ".srt") Then
|
||||||
Main.WebbrowserSoftSubURL = SubTitle2(SubTitle2.Count - 1) + ".srt"
|
Dim SubTitle1() As String = WebBrowser1.Document.Body.OuterHtml.Split(New String() {".srt"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
Dim SubTitle2() As String = SubTitle1(0).Split(New String() {Chr(34)}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
Main.WebbrowserSoftSubURL = SubTitle2(SubTitle2.Count - 1) + ".srt"
|
||||||
|
Else
|
||||||
|
Main.WebbrowserSoftSubURL = Nothing
|
||||||
|
End If
|
||||||
|
|
||||||
'MsgBox(Main.WebbrowserSoftSubURL)
|
'MsgBox(Main.WebbrowserSoftSubURL)
|
||||||
' Anime_Add.StatusLabel.Text =
|
' Anime_Add.StatusLabel.Text =
|
||||||
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "funimation.com")) Then
|
ElseIf CBool(InStr(WebBrowser1.Url.ToString, "funimation.com")) Then
|
||||||
@ -174,6 +180,7 @@ Public Class GeckoFX
|
|||||||
Main.WebbrowserText = WebBrowser1.Document.Body.OuterHtml
|
Main.WebbrowserText = WebBrowser1.Document.Body.OuterHtml
|
||||||
Main.WebbrowserTitle = WebBrowser1.DocumentTitle
|
Main.WebbrowserTitle = WebBrowser1.DocumentTitle
|
||||||
Main.WebbrowserHeadText = WebBrowser1.Document.Head.InnerHtml
|
Main.WebbrowserHeadText = WebBrowser1.Document.Head.InnerHtml
|
||||||
|
Main.WebbrowserCookie = WebBrowser1.Document.Cookie
|
||||||
Main.b = True
|
Main.b = True
|
||||||
|
|
||||||
t = New Thread(AddressOf Main.Funitmation_Grapp)
|
t = New Thread(AddressOf Main.Funitmation_Grapp)
|
||||||
@ -404,7 +411,7 @@ Public Class GeckoFX
|
|||||||
'Main.GrappURL()
|
'Main.GrappURL()
|
||||||
Try
|
Try
|
||||||
My.Computer.Clipboard.SetText(WebBrowser1.Url.ToString)
|
My.Computer.Clipboard.SetText(WebBrowser1.Url.ToString)
|
||||||
'My.Computer.Clipboard.SetText(WebBrowser1.Document.Head.InnerHtml)
|
'My.Computer.Clipboard.SetText(WebBrowser1.Document.Cookie)
|
||||||
|
|
||||||
MsgBox("copied: " + Chr(34) + WebBrowser1.Url.ToString + Chr(34))
|
MsgBox("copied: " + Chr(34) + WebBrowser1.Url.ToString + Chr(34))
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@ -629,34 +636,34 @@ Public Class GeckoFX
|
|||||||
Next
|
Next
|
||||||
|
|
||||||
End If
|
End If
|
||||||
If Main.txtList.Count > 0 Then 'InStr(HTMLString, ".mpd?") Then
|
'If Main.txtList.Count > 0 Then 'InStr(HTMLString, ".mpd?") Then
|
||||||
HTMLString = Main.mpdList.Item(0)
|
' HTMLString = Main.mpdList.Item(0)
|
||||||
'Button2.Text = "found mpd!"
|
' 'Button2.Text = "found mpd!"
|
||||||
Main.LogBrowserData = False
|
' Main.LogBrowserData = False
|
||||||
|
|
||||||
GeckoPreferences.Default("logging.config.LOG_FILE") = "gecko-network.txt"
|
' GeckoPreferences.Default("logging.config.LOG_FILE") = "gecko-network.txt"
|
||||||
GeckoPreferences.Default("logging.nsHttp") = 0
|
' GeckoPreferences.Default("logging.nsHttp") = 0
|
||||||
Dim URL As String = Nothing
|
' Dim URL As String = Nothing
|
||||||
Dim HTMLSplit() As String = HTMLString.Split(New String() {vbNewLine}, System.StringSplitOptions.RemoveEmptyEntries)
|
' Dim HTMLSplit() As String = HTMLString.Split(New String() {vbNewLine}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
For i As Integer = 0 To HTMLSplit.Count - 1
|
' For i As Integer = 0 To HTMLSplit.Count - 1
|
||||||
If InStr(HTMLSplit(i), ".mpd?") Then
|
' If InStr(HTMLSplit(i), ".mpd?") Then
|
||||||
Dim URLPart2() As String = HTMLSplit(i).Split(New String() {" GET "}, System.StringSplitOptions.RemoveEmptyEntries)
|
' Dim URLPart2() As String = HTMLSplit(i).Split(New String() {" GET "}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
Dim URLPart2Split2() As String = URLPart2(1).Split(New String() {" HTTP/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
' Dim URLPart2Split2() As String = URLPart2(1).Split(New String() {" HTTP/"}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
Dim URLPart1() As String = HTMLSplit(i + 1).Split(New String() {" Host: "}, System.StringSplitOptions.RemoveEmptyEntries)
|
' Dim URLPart1() As String = HTMLSplit(i + 1).Split(New String() {" Host: "}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
Main.NonCR_URL = "https://" + URLPart1(1) + URLPart2Split2(0)
|
' Main.NonCR_URL = "https://" + URLPart1(1) + URLPart2Split2(0)
|
||||||
'MsgBox(Main.NonCR_URL)
|
' 'MsgBox(Main.NonCR_URL)
|
||||||
'RichTextBox1.Text = RichTextBox1.Text + vbNewLine + URL_Final
|
' 'RichTextBox1.Text = RichTextBox1.Text + vbNewLine + URL_Final
|
||||||
Main.FFMPEG_Reso(Main.NonCR_URL)
|
' Main.FFMPEG_Reso(Main.NonCR_URL)
|
||||||
t = New Thread(AddressOf Main.Grapp_non_CR)
|
' t = New Thread(AddressOf Main.Grapp_non_CR)
|
||||||
t.Priority = ThreadPriority.Normal
|
' t.Priority = ThreadPriority.Normal
|
||||||
t.IsBackground = True
|
' t.IsBackground = True
|
||||||
t.Start()
|
' t.Start()
|
||||||
Button2.Text = "Start network scan"
|
' Button2.Text = "Start network scan"
|
||||||
Exit For
|
' Exit For
|
||||||
End If
|
' End If
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
End If
|
'End If
|
||||||
ScanTrue = False
|
ScanTrue = False
|
||||||
Button2.Enabled = True
|
Button2.Enabled = True
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
@ -62,6 +62,7 @@ Public Class Main
|
|||||||
Public WebbrowserURL As String = Nothing
|
Public WebbrowserURL As String = Nothing
|
||||||
Public WebbrowserText As String = Nothing
|
Public WebbrowserText As String = Nothing
|
||||||
Public WebbrowserTitle As String = Nothing
|
Public WebbrowserTitle As String = Nothing
|
||||||
|
Public WebbrowserCookie As String = Nothing
|
||||||
Public UserBowser As Boolean = False
|
Public UserBowser As Boolean = False
|
||||||
#Region "Sprachen Vairablen"
|
#Region "Sprachen Vairablen"
|
||||||
Public URL_Invaild As String = "invalid URL, this Downloader is only for crunchyroll.com"
|
Public URL_Invaild As String = "invalid URL, this Downloader is only for crunchyroll.com"
|
||||||
@ -1852,6 +1853,10 @@ Public Class Main
|
|||||||
|
|
||||||
Dim client0 As New WebClient
|
Dim client0 As New WebClient
|
||||||
client0.Encoding = Encoding.UTF8
|
client0.Encoding = Encoding.UTF8
|
||||||
|
If WebbrowserCookie = Nothing Then
|
||||||
|
Else
|
||||||
|
client0.Headers.Add(HttpRequestHeader.Cookie, WebbrowserCookie)
|
||||||
|
End If
|
||||||
Dim str0 As String = client0.DownloadString("https://www.funimation.com/api/showexperience/" + Player_ID2(0) + "/?pinst_id=fzQc9p9f")
|
Dim str0 As String = client0.DownloadString("https://www.funimation.com/api/showexperience/" + Player_ID2(0) + "/?pinst_id=fzQc9p9f")
|
||||||
Dim Funimation_m3u8() As String = str0.Split(New String() {My.Resources.Funimation_src_string}, System.StringSplitOptions.RemoveEmptyEntries)
|
Dim Funimation_m3u8() As String = str0.Split(New String() {My.Resources.Funimation_src_string}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
Dim Funimation_m3u8_final As String = Nothing
|
Dim Funimation_m3u8_final As String = Nothing
|
||||||
@ -1863,6 +1868,25 @@ Public Class Main
|
|||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
If Funimation_m3u8_Main = Nothing Then
|
||||||
|
|
||||||
|
If MessageBox.Show("No media found in:" + vbNewLine + str0, "No media", MessageBoxButtons.RetryCancel) = DialogResult.Retry Then
|
||||||
|
Me.Invoke(New Action(Function()
|
||||||
|
GeckoFX.WebBrowser1.Navigate(WebbrowserURL)
|
||||||
|
Try
|
||||||
|
Anime_Add.StatusLabel.Text = "retrying Funimation"
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
|
Return Nothing
|
||||||
|
End Function))
|
||||||
|
Exit Sub
|
||||||
|
Else
|
||||||
|
Funimation_Grapp_RDY = True
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
'MsgBox(Funimation_m3u8_Main)
|
||||||
|
End If
|
||||||
Dim str1 As String = client0.DownloadString(Funimation_m3u8_Main.Replace(Chr(34), ""))
|
Dim str1 As String = client0.DownloadString(Funimation_m3u8_Main.Replace(Chr(34), ""))
|
||||||
Dim textLenght() As String = str1.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
|
Dim textLenght() As String = str1.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
|
||||||
@ -1875,6 +1899,24 @@ Public Class Main
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If Funimation_m3u8_final = Nothing Then
|
||||||
|
Me.Invoke(New Action(Function()
|
||||||
|
DialogTaskString = "Funimation_Resolution"
|
||||||
|
ResoNotFoundString = str1
|
||||||
|
Reso.ShowDialog()
|
||||||
|
Return Nothing
|
||||||
|
End Function))
|
||||||
|
|
||||||
|
For i As Integer = 0 To textLenght.Length - 1
|
||||||
|
If InStr(textLenght(i), "https") Then
|
||||||
|
If InStr(textLenght(i - 1), ResoBackString) Then
|
||||||
|
Funimation_m3u8_final = textLenght(i)
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
'
|
'
|
||||||
'MsgBox(FunimationName3)
|
'MsgBox(FunimationName3)
|
||||||
'MsgBox(Funimation_m3u8_final)
|
'MsgBox(Funimation_m3u8_final)
|
||||||
@ -1895,6 +1937,7 @@ Public Class Main
|
|||||||
#End Region
|
#End Region
|
||||||
If WebbrowserSoftSubURL = Nothing Then
|
If WebbrowserSoftSubURL = Nothing Then
|
||||||
Else
|
Else
|
||||||
|
'MsgBox(WebbrowserSoftSubURL)
|
||||||
Dim str2 As String = client0.DownloadString(WebbrowserSoftSubURL)
|
Dim str2 As String = client0.DownloadString(WebbrowserSoftSubURL)
|
||||||
Dim Pfad3 As String = DownloadPfad.Replace(Chr(34), "")
|
Dim Pfad3 As String = DownloadPfad.Replace(Chr(34), "")
|
||||||
Dim Pfad4 As String = Pfad3.Replace(".mp4", ".srt")
|
Dim Pfad4 As String = Pfad3.Replace(".mp4", ".srt")
|
||||||
|
@ -66,6 +66,26 @@
|
|||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
ElseIf Main.DialogTaskString = "Funimation_Resolution" Then
|
||||||
|
StatusLabel.Text = Main.LabelResoNotFoundText
|
||||||
|
Dim ResoList As New List(Of String)
|
||||||
|
Dim m3u8_split As String() = Main.ResoNotFoundString.Split(New String() {vbLf}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
For i As Integer = 0 To m3u8_split.Count - 1
|
||||||
|
If InStr(m3u8_split(i), "RESOLUTION=") Then
|
||||||
|
ResoList.Add(m3u8_split(i))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim Reso_avaible1 As String() = Main.ResoNotFoundString.Split(New String() {"RESOLUTION="}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
For i As Integer = 0 To ResoList.Count - 1
|
||||||
|
Dim Reso_avaible As String() = ResoList.Item(i).Split(New String() {"RESOLUTION="}, System.StringSplitOptions.RemoveEmptyEntries)
|
||||||
|
ComboBox1.Items.Add(Reso_avaible(1))
|
||||||
|
Next
|
||||||
|
SurroundingSub()
|
||||||
|
Try
|
||||||
|
ComboBox1.SelectedIndex = 0
|
||||||
|
Catch ex As Exception
|
||||||
|
End Try
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user