Skocz do zawartości
Zaloguj się, aby obserwować  
oski225

[PHP] Pobieranie plików z FileSonic

Polecane posty

Witam,

od kilku(nastu) dni walczę z jednym problemem, a mianowicie z pobieraniem plików z serwisu filesonic.

Mam konto premium, loguje się do wyżej wymienionego serwisu i poprawnie pobieram pliki, jednakże jak pobieram kilka plików na raz, zamiast pliku serwis wysyła mi stronę:

<html>
<body>
You can not access this page directly. Please use the <a href="http://www.filesonic.com/file/" onclick="location.href = (this.href + location.href.substr(location.href.indexOf('=') + 1)); return false;">website to start your download</a> or <a href="http://www.filesonic.com/contact-us">contact us</a> in case of problem.
<p>If the problem persists, clear your cookies and try again.</p>
</body>
</html>

 

Próbowałem już na dosłownie miliony sposobów, curlem, ręcznie, i zawsze to samo...

Oczywiście podglądałem jakie nagłówki wysyła przeglądarka, i wysyłam identyczne:

$opts = array(
 'http'=>array(
   'method'=>"GET",
   'header'=>"Host: www.filesonic.com\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13\r\n".
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n".
"Accept-Language: pl,en-us;q=0.7,en;q=0.3\r\n".
"Accept-Encoding: gzip,deflate\r\n".
"Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7\r\n".
"Keep-Alive: 115\r\n".
"Connection: keep-alive\r\n".
"Referer: http://www.filesonic.com/\r\n".
"Cookie: ".$cookie
 )
);

 

Jest na to jakaś rada? Jakaś wskazówka, co mógłbym jeszcze zrobić?

Jestem już szczerze na kresie wytrzymałości z tym wszystkim :)

 

Pozdrawiam serdecznie i z góry dziękuje za odpowiedź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Spróbuj np wgetem opcji --keep-session-cookies i --save-cookies.

Generalnie cała sesja pobraniowa powinna wyglądać mniej-więcej tak:

 

wget --save-cookies ciastko.txt --keep-session-cookies --post-data="to_co_potrzebujesz_zapostowac_do_zalogowania" http://strona_na_ktora_sie_logujesz
wget --load-cookies ciastko.txt http://strona_z_ktorej_chcesz_pobrac_plik

Chyba że wcześniej zapisywałeś również session cookies i nic z tego.

Ale nawet jeśli to nie zadziała, to chyba możesz po prostu logować się wielokrotnie do serwisu jeśli chcesz pobrać kilka plików?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Już próbowałem z zapisaniem session cookies i też błąd występował.

Przy wielokrotnym logowaniu jest to samo...

 

Teraz zrobiłem to tak, że pętlą while sprawdzam, czy pobrana strona różni się od tej z błędem, jeśli tak, to pobiera plik, jeśli nie wykonuje się od początku... Ustaliłem sporą właściwość "set_time_limit" na serwerze, i jakoś to działa, tylko nie koniecznie szybko.

 

Nieraz zdarza się, że pobieranie rozpoczyna się po minucie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A próbowałeś pobierać programem slimrat. Nie wiem jak wyglada sprawa co do obslugi filesonic'a (mozna pobrac modul do obslugi tego systemu udostępniania plików). Ja swojego czasu korzystałem z niego na serwerze gdzie odpowiedni skrypt odpalał go ściągającego z różnych adresów IP.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×