Ich Habe ein Problem, Wenn ich versuche etwas zu Downloaden, kommt bei mir folgende Meldung:
Ein Fehler ist aufgetreten und die angeforderte Datei (en) konnte nicht heruntergeladen werden.
Dies wird normalerweise durch Änderungen an der You-Tube Webseite verursacht.
Spoiler anzeigen
Wie kann ich dies beheben?
Was muss ich erneuern?
Edit by der_Kurt:
Bitte längere Code-Passagen in den Expander-Tag setzen. Es ist den Users nicht zuzumuten, immer nach unten zu scrollen, um den Thread verfolgen zu können
* Expander-Tag wurde eingefügt *
Ein Fehler ist aufgetreten und die angeforderte Datei (en) konnte nicht heruntergeladen werden.
Dies wird normalerweise durch Änderungen an der You-Tube Webseite verursacht.
VB.NET-Quellcode
- #Region "Generate You-Tube URL"
- Public Sub MakeDownloadURL(ByVal url
- As String, ByRef output As String, Optional ByRef type As String = "",
- Optional ByRef size As Integer = 0)
- 'PERFORMS CLEANUP
- downloadurl = ""
- If request IsNot Nothing Then
- Try
- request.Abort()
- Catch
- End Try
- End If
- If response IsNot Nothing Then
- Try
- response.Close()
- Catch
- End Try
- End If
- Try
- source = ""
- Catch
- End Try
- request = DirectCast(HttpWebRequest.Create(url.ToString), HttpWebRequest)
- Try
- response = DirectCast(request.GetResponse, HttpWebResponse)
- Catch
- type = ""
- Exit Sub
- End Try
- source = New StreamReader(response.GetResponseStream, System.Text.Encoding.Default).ReadToEnd
- If source.IndexOf("video_id") > -1 Then
- 'This grabs the .flv location URL ready for doownloading.
- Dim signature As String = source
- If signature.Contains("&fmt_url_map=") = True Then
- Try
- signature = System.Text.RegularExpressions.Regex.Split(signature, "&fmt_url_map=")(1)
- Catch
- End Try
- ElseIf signature.Contains(Chr(34) + "fmt_url_map" + Chr(34) + ": " + Chr(34)) = True Then
- Try
- signature = System.Text.RegularExpressions.Regex.Split(signature, Chr(34) + "fmt_url_map" + Chr(34) + ": " + Chr(34))(1)
- Catch
- End Try
- Else
- Debug.WriteLine("Kritischer Fehler: Download URL konnte nicht hergestellt werden.")
- type = ""
- Exit Sub
- End If
- 'This changes the URL to conform to internet standards eg. %20 = " "
- signature = signature.Remove(0, 5)
- signature = signature.Replace("%252C", ",")
- signature = signature.Replace("%2F", "/")
- signature = signature.Replace("%3D", "=")
- signature = signature.Replace("%3F", "?")
- signature = signature.Replace("%3A", ":")
- signature = signature.Replace("%26", "&")
- Dim sig2 As String = signature
- sig2 = sig2.IndexOf("http", 30)
- signature = signature.Remove(sig2, signature.Length - sig2)
- signature = signature.Remove(signature.IndexOf("%"), 7)
- 'Removes any remaining % characters from the string.
- signature = signature.Replace("%", "")
- 'Checks for and fixes any malformed http requests in the string.
- If signature.StartsWith("ttp://") Then
- signature = signature.Replace("ttp://", "http://")
- End If
- 'Checks for and Removes any remaining C characters from the string.
- If signature.Chars(signature.Length - 1) = "C" Then
- signature = signature.Remove(signature.Length - 1, 1)
- End If
- If signature.Contains("rv.2.rating") Then
- Dim n As Integer = signature.IndexOf(ChrW(34) + ",")
- signature = signature.Remove(n, signature.Length - n)
- End If
- 'PERFORMS CLEANUP
- If request2 IsNot Nothing Then
- Try
- request2.Abort()
- Catch
- End Try
- End If
- If response2 IsNot Nothing Then
- Try
- response2.Close()
- Catch
- End Try
- End If
- Try
- request2 = DirectCast(HttpWebRequest.Create(signature), HttpWebRequest)
- Catch
- type = ""
- Exit Sub
- End Try
- response2 = DirectCast(request2.GetResponse, HttpWebResponse)
- If response2.ContentType = "video/x-flv" Then
- type = ".flv"
- output = signature
- size = response2.ContentLength
- ElseIf response2.ContentType = "video/mp4" Then
- type = ".mp4"
- output = signature
- size = response2.ContentLength
- Else
- type = ""
- output = ""
- Exit Sub
- End If
- End If
- End Sub
- #End Region
- Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
- web.DownloadFileAsync(New Uri(downloadurl), SaveFileDialog1.FileName)
- If CType(sender, System.ComponentModel.BackgroundWorker).CancellationPending Then
- web.CancelAsync()
- End If
- End Sub
- Public
- Sub DownloadingFile(ByVal sender As Object, ByVal e As
- DownloadProgressChangedEventArgs) Handles Web.DownloadProgressChanged
- Dim deleg As New OneArgD(AddressOf SetValue)
- ProgressBar1.Invoke(deleg, e.ProgressPercentage)
- If e.ProgressPercentage = 100 Then
- MsgBox("Download abgeschlossen.", MsgBoxStyle.Information)
- End If
- End Sub
- Private Sub SetValue(ByVal max As Object)
- Me.ProgressBar1.Value = CInt(max)
- Me.lblper.Text = ProgressBar1.Value.ToString + " %"
- End Sub
- Private Sub AdvantiumButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AdvantiumButton1.Click
- Dim filetype As String = ""
- Dim size As Integer = 0
- MakeDownloadURL(TextBox1.Text, downloadurl, filetype, size)
- If filetype = ".flv" Then
- SaveFileDialog1.Filter = "FLV Files (.flv) |*.flv"
- ElseIf filetype = ".mp4" Then
- SaveFileDialog1.Filter = "MP4 Files (.mp4) |*.mp4"
- Else
- MsgBox("Ein
- Fehler ist aufgetreten und die angeforderte Datei (en) konnte nicht
- heruntergeladen werden." + vbCrLf + "Dies wird normalerweise durch
- Änderungen an der You-Tube Webseite verursacht.", MsgBoxStyle.Critical)
- Exit Sub
- End If
- If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
- BackgroundWorker1.RunWorkerAsync()
- Else
- MsgBox("Download abgebrochen!")
- End If
- End Sub
Wie kann ich dies beheben?
Was muss ich erneuern?
Edit by der_Kurt:
Bitte längere Code-Passagen in den Expander-Tag setzen. Es ist den Users nicht zuzumuten, immer nach unten zu scrollen, um den Thread verfolgen zu können
* Expander-Tag wurde eingefügt *
100%
Radio-Player Modul >>1.0<<:
Download gibt es per PN
Fertigstellung: 100%
Download gibt es per PN
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Cybkill“ ()