![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Piszę program do ściągania plików z m.in rapidshare i zawiesiłem się na najważniejszej rzeczy - samym ściąganiu (IMG:style_emoticons/default/winksmiley.jpg) . Interfejs RS jest dwuetapowy - najpierw trzeba kliknąć czy jest się premium, czy free user, potem przechodzi się do ściągania. Firebug mówi, że tylko jedna zmienna jest (na pierwszym etapie) przesyłana - dl.start=Free (odpowiednio inna dla premium, ale na tym mi nie zależy), no i ją wysyłam:
Zawsze w odpowiedzi dostaję pierwszą stronę, zamiast tej, która powinna pokazać się po kliknięciu. Nawet wysyłałem te same nagłówki, co FX - wciąż nic. Jak zrobić tak, żeby działało (IMG:style_emoticons/default/biggrin.gif) ? Edit: A dokumentacja api rapidshare na ten temat milczy... Ten post edytował 230005 26.05.2010, 17:33:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 36 Dołączył: 2.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kurde, no ten Live HTTP headers pokazuje raczej to co już wiem:
#request# POST http://rs30.rapidshare.com/files/140895646...ndows.part1.rar POST /files/140895646/netbeans-6.1-ml-windows.part1.rar dl.start=Free #request# POST http://rank.ant.com/fetch/ #request# GET http://rs30.rapidshare.com/img2/styles.css #request# GET http://rs30.rapidshare.com/img2/favicon.ico #request# GET http://rs30.rapidshare.com/img2/favicon.ico #request# GET http://rs30.rapidshare.com/img2/menu_bg.gif #request# GET http://rs30.rapidshare.com/img2/rslogo.gif #request# GET http://rs30.rapidshare.com/img2/pfeil.jpg #request# GET http://rs30.rapidshare.com/img2/stepx_sprite.gif #request# GET http://rs30.rapidshare.com/img2/content_bg...ttom_sprite.gif #request# GET http://rs30.rapidshare.com/img2/content_bg_middle.gif #request# GET http://rs30.rapidshare.com/img2/symbol_fertig_small.gif #request# GET http://rs30.rapidshare.com/img2/preisschild_bg.gif #request# GET http://rs30.rapidshare.com/img2/prepaid_preisschild_bg.jpg POST /fetch/ url=http%3A%2F%2Frs30.rapidshare.com%2Ffiles%2F140895646%2Fnetbeans-6.1-ml-windows.part1.rar&ref=http%3A%2F%2Frapidshare.com%2Ffiles%2F140895646%2Fnetbeans-6.1-ml-windows.part1.rar&uid={FED810E7-A8A4-4710-8111-BF2F11BDAEDC} Większość tego to jak widać obrazki, ale np. zastanawia mnie to: POST /fetch/ url=http%3A%2F%2Frs30.rapidshare.com%2Ffiles%2F140895646%2Fnetbeans-6.1-ml-windows.part1.rar&ref=http%3A%2F%2Frapidshare.com%2Ffiles%2F140895646%2Fnetbeans-6.1-ml-windows.part1.rar&uid={FED810E7-A8A4-4710-8111-BF2F11BDAEDC} . Wie ktoś co to jest i ew. jak to zemulować (IMG:style_emoticons/default/biggrin.gif) ? Termin oddania projektu zbliża się wielkimi krokami, a ja chyba wziąłem sobie zadanie, które przynajmniej obecnie mnie przerasta... Ten post edytował 230005 27.05.2010, 16:47:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Kurde, no ten Live HTTP headers pokazuje raczej to co już wiem: z rapidshare nie maiłem potrzeby się bawić ale... jak analizować dane?? które z resztą nie wszystkie przedstawiłeś ;p...... Termin oddania projektu zbliża się wielkimi krokami, a ja chyba wziąłem sobie zadanie, które przynajmniej obecnie mnie przerasta... włączasz ten live... i chodzisz po jak najmniejszej liczbie stron wykonując jak najmniej akcji jakich trzeba by ściągnąć plik w przeglądarce... jako punkt startowy masz stronę z której startowałeś - patrzysz czy coś się nie poustawiało - jak tylko cookies to luz... analizujesz czy coś Cię nie przekierowało [nagłówek "Location" - czyli redirect...] - kopiuj sobie kluczowe nagłówki i dane do innego pliku celem dalszej analizy bo jak widzisz masz jeszcze te css, obrazki i javascript... analizuj za koleją wszystkie linki związane z domeną i przekierowania z tej domeny... dodatkowo zwróć uwagę czy przy jakimś obrazku, pliku css lub javascript nie jest dodatkowo ustawiony cookies [może być tak, że w ten sposób w późniejszym etapie rozpoznają przeglądarkę - nie bawiłem się tam...]... gożej jeśli jednym z zabezpieczeń będzie wczytanie konkretnego pliku - czy to obrazka, pliku css lub javascript [ostatnie raczej odpada] - wczytując plik do przeglądarki wysyła się identyfikator sesji - na tej podstawie mogą zapisać sobie w sesji czy ten ktoś może ściągać czy nie [akurat jako zabezpieczenie sam tak raz zrobiłem ale nie na ściąganie plików] - no i jeszcze to co pisali plus odczekanie czasu... cookies się nie przejmujesz bo jeśli skorzystasz z cURL'a chodząc po następnych stronach sam wyśle cookies [ale musisz dać w ustawieniach coby te cookies gdzieś zapisywał...], zastosowanie cURL'a w javie raczej będzie podobne jak w php - a zestaw jego funkcji jest dobrze opisany na manualu php z przykładami w komentarzach... dodatkowo na określonych stronach możesz mieć wygenerowane jakieś klucze czy to w formularzu czy inaczej... więc pasuje się tym danym dokładnie przyjrzeć gdyż na poszczególnym etapie po przekierowaniach lub po przejściu strony być może będziesz musiał stronę przeszukać... model DOM jest zaimplementowany w wielu językach więc zapewne i do javy znajdziesz klasy coby było łatwiej bez wyrażeń regularnych... jeśli w danym etapie będziesz musiał wysłać dane POST to w cURL'u są także do tego odpowiednie funkcje... jeśli jednak nie chcesz korzystać z cURL'a oraz nie znasz żadnego klienta HTTP w javie [mam na myśli zestaw klass] to będziesz musiał sobie sam takie cosik napisać, czyli zestaw klas wysyłających odpowiednie nagłówki podczas połączenia... PS. i jeśli dane będziesz wysyłał jako surowe nagłówki to co do POST będziesz musiał podać nagłówek jeszcze: z kolej po wszystkich nagłówkach będziesz musiał dodać 2 znaki "\r\n" czyli "\r\n\r\n" i dalej podajesz treść POST'a czyli $dataPost... i dodatkowo każdy z nagłówków jest od siebie oddzielony jednym windowsowym enterem "\r\n" - koniec nagłówków to właśnie 2 entery... wysyłanie cookies to wysłanie nagłówka "Cookie"... gdzie ja np. pobierając w fragmencie kodu cookies jako tablicę array(klucz=>wartość) z bazy budowałem mniej więcej tak:
co do wysyłania surowych nagłówków to deczko grubszy temat jeśli ich się nie rozumie... dlatego najprościej skożystać właśnie z cURL'a... Ten post edytował zegarek84 27.05.2010, 21:13:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 16:52 |