Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: curl
Forum PHP.pl > Forum > PHP
kondzio18
Witam, próbuję pobrać link video ze źródła strony (np. http://s904.vshare.io/download,99999999999...dec,a35e03e.flv, w którym znajduje się token) vShare.io (np. http://vshare.io/d/a35e03e).

  1. $ch = curl_init('http://vshare.io/d/a35e03e');
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  3. $wejscie = curl_exec($ch);
  4. curl_close($ch);
  5. preg_match_all('/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/', $wejscie, $wyjscie);
  6. print_r($wyjscie);


print_r znajduje link wraz z tokenem, ale gdy wkleje go w adresie przeglądarki to nic się nie dzieje. (nie zaczyna się pobieranie, tylko przenosi do strony głównej http://vshare.io/d/a35e03e). Chciałbym podkreślić, że na serwerze lokalnym normalnie rozpoczyna się pobieranie :/ Ma ktoś jakiś pomysł ?
untorched
  1. <?php
  2.  
  3. $ch = curl_init('http://vshare.io/d/a35e03e');
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. $wejscie = curl_exec($ch);
  6. curl_close($ch);
  7. preg_match_all('/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*).flv?/', $wejscie, $wyjscie);
  8.  
  9. echo '<a href="'.$wyjscie[0][0].'">Pobierz</a>';


U mnie to działa, po kliknięciu w pobierz normalnie rozpoczyna się pobieranie.
kondzio18
Cytat(untorched @ 1.02.2015, 12:46:46 ) *
  1. <?php
  2.  
  3. $ch = curl_init('http://vshare.io/d/a35e03e');
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. $wejscie = curl_exec($ch);
  6. curl_close($ch);
  7. preg_match_all('/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*).flv?/', $wejscie, $wyjscie);
  8.  
  9. echo '<a href="'.$wyjscie[0][0].'">Pobierz</a>';


U mnie to działa, po kliknięciu w pobierz normalnie rozpoczyna się pobieranie.


A jesteś na lokalnym serwerze (np. xaamp), czy używasz hosting publiczny tj. cba lub hostinger.pl ?
untorched
Lokalny, debian apache2.22 + php5.4. Twoim problemem nie jest przypadkiem brak dostępu do curl na zewnętrznym serwerze?

Edit:

Ewentualnie strona generuje ten token dla IP z curla, czyli dla serwera smile.gif
kondzio18
Jak testowałem na xaampie to normalnie mi pobierało, ale jak przeniosłem na hostinger.pl to już przenosi tylko na stronę główną pliku.

Cytat(untorched @ 1.02.2015, 12:55:13 ) *
Lokalny, debian apache2.22 + php5.4. Twoim problemem nie jest przypadkiem brak dostępu do curl na zewnętrznym serwerze?


W jaki sposób mogę to sprwadzić? Wydaje mi się, że chyba mam dostęp jak pobiera informacje ze źródła strony. Może to jakieś zabezpieczenie ze strony vshare.io?
untorched
Skoro print_r zwraca Ci dane bez żadnego błędu to curl działa. Prawdopodobnie teoria z update wcześniejszego postu smile.gif
kondzio18
Czyli jakiegoś skutecznego sposobu na ten moment nie ma :/ Dzięki za pomoc smile.gif
untorched
Z poziomu klienta pobierz kontent strony, prześlij go do serwera, który to przemieli i zwróci link.
kondzio18
Trochę ciężko mi to zrozumieć, mógłbyś mi to wyjaśnić jakoś na przykładzie ?

1. Pobieram link z kodu źródłowego strony
2. [..]
untorched
Kombinuj, szukaj.

Tu masz przykład pobierania przez serwer.

  1. <?php
  2.  
  3. $ch = curl_init('http://vshare.io/d/a35e03e');
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5. $wejscie = curl_exec($ch);
  6. curl_close($ch);
  7. preg_match_all('/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*).flv?/', $wejscie, $wyjscie);
  8.  
  9. header('Content-Type: application/octet-stream');
  10. header("Content-Transfer-Encoding: Binary");
  11. header("Content-disposition: attachment; filename=\"file.flv\"");
  12.  
  13. readfile($wyjscie[0][0]);


Ale nie nadaje się to raczej na darmowe serwery ^^
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.