2011-01-03 7 views
0

Ich versuche, eine Datei von Rapidshare über C++ .NET herunterzuladen, aber ich habe ein bisschen Ärger.Managed C++ oder C# .NET, Herunterladen von rapidshare?

Die Adresse war früher "https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi", aber das funktioniert nicht mehr, weiß jemand, was der neue ist? Der Code funktioniert, aber die Dateigröße ist immer 1KB, ich glaube nicht, dass die Verbindung zum richtigen Server.

private: void downloadFileAsync(String^ fileUrl) 
{ 
    String^ uriString; 

    uriString = "https://ssl.rapidshare.com/premzone.html";//"https://ssl.rapidshare.com"; 

    NameValueCollection^ postvals = gcnew NameValueCollection(); 
    postvals->Add("login", "bob"); 
    postvals->Add("password", "12345"); 
    // postvals->Add("uselandingpage", "1"); 

    WebClient^ myWebClient = gcnew WebClient(); 
    array<unsigned char>^ responseArray = gcnew array<unsigned char>(10024); 
    responseArray = myWebClient->UploadValues(uriString, "POST", postvals); 

    StreamReader^ strRdr = gcnew StreamReader(gcnew MemoryStream(responseArray)); 

    String^ cookiestr = myWebClient->ResponseHeaders->Get("Set-Cookie"); 

    myWebClient->Headers->Add("Cookie", cookiestr); 
    //myWebClient->DownloadFileCompleted += gcnew AsyncCompletedEventHandler(myWebClient->DownloadFileCompleted); 

    myWebClient->DownloadFileAsync(gcnew Uri(fileUrl),"C:\\rapid\\"+Path::GetFileName(fileUrl)); 
} 


private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) 
{ 
    downloadFileAsync("http://rapidshare.com/files/440636806/ArcadeBackground.png"); 

} 
+1

Was ist der Inhalt dieser 1kB-Datei? Ich nehme an, es ist eine Art von Fehler, der Ihnen helfen könnte – CodesInChaos

+0

Diese Sprache heißt C++/CLI, nicht C++. NET und definitiv nicht "Managed C++". Wir verwenden den letzten Begriff nur als Abkürzung für "Managed Extensions for C++", das Teil von VS2002 und VS2003 war und mit C++/CLI in VS2005 einen wohlverdienten Tod starb. –

Antwort

2

Rapidshare hat ihre Struktur in letzter Zeit komplett überholt. Diese 1-KB-Datei ist wahrscheinlich HTML-Text, der Ihnen sagt, was Sie falsch machen.

bearbeiten

Sind Sie mit dem Rapishare API? Weil Ihr Code nicht so aussieht wie das, was ich auf der Dokumentationsseite sehe.

+0

gut in dem Ordner die Datei erscheint als ArcadeBackground.png aber wenn ich es öffne ich bekomme das Bild ist beschädigt/beschädigt Fehler. – cruisx

+0

Wenn ich es mit Notizblock öffne, bekomme ich cruisx

+2

So ist es eine Javascript-Umleitung, und einige der Parameter in der neuen Abfragezeichenfolge sind wahrscheinlich zeitlich begrenzt. Offenbar müssen Sie das zuerst herunterladen, die neue URL parsen und eine zweite Anfrage stellen. –

Verwandte Themen