1. #1

    Registriert seit
    03.12.2011
    Beiträge
    1.339
    Thanked 841 Times in 422 Posts

    Standard {PROBLEM} Downloading funktioniert nicht

    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:
    Code:
    #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(signatu re, "&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(signatu re, 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).Cancellati onPending 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?

    Mod-Edit: Du bist nicht alleine auf der Welt. Nur weil dein Problem gelößt ist, ist das noch lange kein Grund den kompletten Content zu löschen.
    Geändert von Bazs (10.05.2012 um 13:59 Uhr)

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.217
    Thanked 9.132 Times in 3.006 Posts
    Blog Entries
    5

    Standard AW: {PROBLEM} Downloading funktioniert nicht

    Das is keine Exception, sondern nur eine Meldung die ausgegeben wird, wenn filetype keine der angegebenen Datentypen bzw Endungen enthält.
    Sorry, aber für mich sieht das danach aus, als hast du den ganzen Source irgendwo heruntergeladen, der offensichtlich nicht funktioniert, und nun suchst du einen dummen der dir den Fehler fixxt, damit du das Ding als dein Release ausgeben kannst.
    Sowas supporte ich grundsätzlich nicht.
    Btw: Ziemlich ugly gecodet das ganze.


  3. #3
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard AW: {PROBLEM} Downloading funktioniert nicht

    [VB 2008] Problem mit einem YouTube Downloader (Progressbar und DownloadingFile) - Hauptforum - Visual-Basic-Forum VB-Paradise.de

    Hast du selbst gemacht, was du da laberst... der Code ist locker über 2 Jahre alt, wahrscheinlich noch älter und du wunderst dich, warum er nicht funktioniert? YouTube ändert sehr oft irgendwas, genau um sowas zu unterbinden.

    Demnach musst du den Code selbst schreiben, was für einen Anfänger definitiv nicht machbar ist.

    Dann kannst du dir auch URLDecode angucken und musst nicht immer replacen...

Ähnliche Themen

  1. Funkmaus funktioniert nicht
    Von Runix im Forum Windows
    Antworten: 9
    Letzter Beitrag: 12.09.2013, 20:48
  2. Schwimmtestprogramm funktioniert nicht !
    Von AlexEHM im Forum C++
    Antworten: 1
    Letzter Beitrag: 12.06.2012, 22:28
  3. [Problem] Tastatur funktioniert nicht mehr nach Update
    Von Valorax im Forum Internet und Technik
    Antworten: 4
    Letzter Beitrag: 06.06.2012, 13:52
  4. Problem: Steam Funktioniert nicht?
    Von OneWorld im Forum Fragen & Probleme
    Antworten: 6
    Letzter Beitrag: 28.04.2012, 12:51
  5. Bluetooth funktioniert nicht
    Von Diestver im Forum Windows
    Antworten: 1
    Letzter Beitrag: 07.01.2012, 07:10
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.