Logowanie i pobieranie pliku z rapidshare.com

0

Witam,

Im więcej czytam artykułów w internecie, tym bardziej widzę, że mój kod(który zaraz przedstawię) nie ma prawa poprawnie działać ;-P.
Chciałbym ściągnąć plik z rapidshare.com i niestety niezbyt mi to idzie.
Logowanie chciałem wykorzystać:

NetworkCredentials

Niestety nie dodaje to ciasteczka do mojego zapytania, więc albo trzeba coś zrobić, żeby to ciasteczko dodało albo trzeba zalogować się w inny sposób.
Chciałbym Was prosić o pomoc, gdyż już brakuje mi sił na poszukiwanie odpowiednich sposobów.

Oto kod metody, która ma ściągać plik:

   httpRequest = (HttpWebRequest)WebRequest.Create(URL);
                httpRequest.AllowAutoRedirect = true;
                httpRequest.MaximumResponseHeadersLength = 50;
                httpRequest.Method = WebRequestMethods.Http.Post;
                httpRequest.ContentType = "application/x-www-form-urlencoded";
                httpRequest.ProtocolVersion = new Version("1.1");
                httpRequest.Referer = URL;
                httpRequest.Accept = "*/*";
                httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)";
                httpRequest.Headers.Add("Pragma: no-cache");
                httpRequest.KeepAlive = false;
                httpRequest.Credentials = new NetworkCredential("user", "password");
                CookieContainer cookie = new CookieContainer();
                httpRequest.CookieContainer = cookie;                
                httpResponse = (HttpWebResponse)httpRequest.GetResponse();
                responseStream = httpResponse.GetResponseStream();
                localFileStream = new FileStream(sciezka, FileMode.Create);
                Byte[] buffer = new Byte[blok];
                int bytesRead = responseStream.Read(buffer, 0, blok);
                while (bytesRead > 0)
                {
                    localFileStream.Write(buffer, 0, bytesRead);
                    bytesRead = responseStream.Read(buffer, 0, blok);
                }

Z góry dzięki za pomoc. Gdybym znalazł sam coś nowego to zaktualizuje posta :)

0

trzeba się zupełnie inaczej do tego zabrać. gdy będę miał czas to tu wrzucę jak to powinno być.
w najbliższych tygodniach mam jednak inny projekt na głowie.

0

Można np tak

        private string GetCookies(String PostPage, String postString)
        {
            HttpWebRequest request = null;
            HttpWebResponse response = null;
            StreamReader sr = null;
            CookieContainer cookies = new CookieContainer();

            request = (HttpWebRequest)WebRequest.Create(PostPage);
            request.Method = "POST";
            request.Headers.Add(HttpRequestHeader.Pragma, "no-cache");
            request.ContentType = "application/x-www-form-urlencoded";
            request.CookieContainer = cookies;

            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
            byte[] requestData = encoding.GetBytes(postString);
            request.ProtocolVersion = HttpVersion.Version10;
            request.ContentLength = requestData.Length;

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(requestData, 0, requestData.Length);
            requestStream.Close();

            response = (HttpWebResponse)request.GetResponse();
            sr = new StreamReader(response.GetResponseStream());
            String content = sr.ReadToEnd();
            sr.Close();
            response.Close();
            return cookies.GetCookieHeader(new Uri("https://ssl.rapidshare.com/"));
        }

i potem

            WebClient client = new WebClient();
            String cookie = GetCookies("https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi", "login=twojlogin&password=twojehaslo");
            client.Headers.Add("Cookie", cookie);
            client.DownloadFileAsync(new Uri("link"), @"gdziezapisac");
0

Ten kod nie działa do końca dobrze. Ciasteczko nie jest prawidłowo pobierane. Dostaję w odpowiedzi 100 znakowy string takiej postaci:
enc=7EFF90DE43D7327D299E12AF19DDF...74C183E3CAAF96907CAD29959F5C

Co zrobić, żeby działało w porządku?

1 użytkowników online, w tym zalogowanych: 0, gości: 1