2010-03-18 3 views
4

Comment puis-je me connecter au compte premium rapidshare depuis ma source? Je tryed cela, mais il ne fonctionne pas:Télécharger le fichier à partir du compte premium rapidshare avec .NET

string authInfo = "name" + ":" + "pass"; 
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo)); 
client.Headers["Authorization"] = "Basic " + authInfo; 

client.DownloadFile("url", "C:\\Temp\\aaaa.file"); 

OU

WebClient client = new WebClient(); 

client.Credentials = new NetworkCredential("name", "pass"); 

client.DownloadFile("url", "C:\\Temp\\aaaa.file"); 

Y at-il de façon simple comment télécharger le fichier directement de la prime rapidshare?

+0

Cocher cette http://stackoverflow.com/questions/2453844/simulate-login-action-to-vbulletin-using-c/2453871#2453871 –

Répondre

3

Utilisez Fiddler pour voir ce qui est envoyé. Puis reconstruisez la requête.

connecte son gestionnaire de téléchargement peut également fournir quelques conseils.

+0

Merci pour la pointe. Je vais essayer! – Simon

2

Simple rapidshare class vous permet d'effectuer votre tâche sans réinventer la roue ... Sinon, vérifiez les API de rapidshare.

+0

J'ai essayé cette classe, mais il ne fonctionne pas :(J'ai vérifié les API, mais je ne l'ai pas trouvé une note sur le téléchargement direct de primes d'émission. – Simon

2

Il y a ma solution. travailler comme un charme:

private void downloadFileAsync(string fileUrl) 
     { 
      string uriString; 

      uriString = "https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi"; 

      NameValueCollection postvals = new NameValueCollection(); 
      postvals.Add("login", "aaa"); 
      postvals.Add("password", "bbb"); 
      postvals.Add("uselandingpage", "1"); 

      WebClient myWebClient = new WebClient(); 

      Byte[] responseArray = myWebClient.UploadValues(uriString, "POST", postvals); 

      StreamReader strRdr = new StreamReader(new MemoryStream(responseArray)); 

      string cookiestr = myWebClient.ResponseHeaders.Get("Set-Cookie"); 

      myWebClient.Headers.Add("Cookie", cookiestr); 
      myWebClient.DownloadFileCompleted += new AsyncCompletedEventHandler(myClient_DownloadFileCompleted); 
      myWebClient.DownloadFileAsync(new Uri(fileUrl),"C:\\Temp\\"+Path.GetFileName(fileUrl)); 
     } 
Questions connexes