Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> cURL i pobieranie pliku na serwer z HTTPS, file_get_content działa, a cURL nie :/
Sztef89
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


Witam,

Siedzę od parunastu godzin nad rozwiązaniem problemu jednak nie wiem jak go rozwiązać. Chciałbym pobrać plik z mojego konta z serwisu Dropbox na mój serwer za pomocą cURL'a jednak po ustawieniu odpowiednich parametrów, pobieranie nie działa. Żeby nie być gołosłownym napisałem taki kod:

  1. $c = curl_init();
  2. curl_setopt($c, CURLOPT_URL, 'https://www.dropbox.com/s/3lmrjqqe9mjmffv/pliktestowy.rar?dl=1'); // Adres do pliku
  3. curl_setopt($c, CURLOPT_SSL_VERIFYPEER, true); //Włączona obsługa SSL
  4. curl_setopt($c ,CURLOPT_SSL_VERIFYHOST, 2); //Też coś od SSL ;)
  5. curl_setopt($c ,CURLOPT_CAINFO, dirname(__FILE__) . '/ca-bundle.pem'); // Próbowałem użyć certyfikatu - na nic to się nie zdało, nie mam pewności czy ten certifikat co mam jest poprawny...
  6. curl_setopt($c, CURLOPT_HEADER, 1); //Wyświetlenie nagłówka zwróconego przez serwer
  7. curl_setopt($c, CURLOPT_NOBODY, true); //Wyłączenie wyświetlania strony / pliku
  8. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); //Czy ma zwrócić transfer
  9. curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); //Obsługa przekierowań
  10. curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17');
  11. $h = curl_exec($c);
  12.  
  13. echo curl_getinfo($c,CURLINFO_CONTENT_LENGTH_DOWNLOAD); // Odczytanie wielkości pliku. Wyświetla "-1" czyli wystąpił błąd


Używając funkcji file_get_content('https://www.dropbox.com/...') wszystko idzie pięknie, przekierowania działają, nie trzeba się bawić w jakieś ustawianie lecz ta funkcja mnie zbytnio ogranicza i nie mam dostępu do wielu opcji jakie ma cURL.

Możecie testować skrypt używając linku podanego w pierwszym kodzie - działa bezproblemowo przez przeglądarkę.

Z góry bardzo dziękuję za pomoc !

Ten post edytował Sztef89 30.01.2013, 20:10:41
Go to the top of the page
+Quote Post
cudny
post
Post #2





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Ale po co Ci używać CURL ?
On dopiero Cię ogranicza (IMG:style_emoticons/default/wink.gif)

Poniżej link do klas obsługujących API Dropboxa, do tego logowanie via OAuth...

http://code.google.com/p/dropbox-php/wiki/Dropbox_API
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


  1. curl_setopt($c, CURLOPT_NOBODY, true); //Wyłączenie wyświetlania strony / pliku

przecież to Ci wyłącza czytanie ciała strony przez curl'a, jeśli masz przekazać informację do serwera i nie interesuje Cię co zwróci oprócz nagłówków...

jeśli manual nie wystarcza to odsyłam:
Does CURLOPT_NOBODY still download the body - using bandwidth

ps.
a ten post w manualu powinien Ci ułatwić wyciąganie danych z rządania...
http://de3.php.net/manual/en/function.curl-exec.php#80442
ps.
jakbyś trochę popisał na socketach zamiast korzystać z curl'a lepiej zrozumiałbyś protokół HTTP a to może Ci się w przyszłości przydać jeśli zamierzasz bawić się w "boty" nawet w innych językach programowania

Ten post edytował zegarek84 31.01.2013, 19:00:06
Go to the top of the page
+Quote Post
Sztef89
post
Post #4





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


Cytat(cudny @ 31.01.2013, 17:34:12 ) *
Ale po co Ci używać CURL ?
On dopiero Cię ogranicza (IMG:style_emoticons/default/wink.gif)


Nie chce używać API dropboxa, za dużo zachodu... (IMG:style_emoticons/default/tongue.gif)

@zegarek84 Dzięki za wskazówki, okazało się, że nie ustawiłem nagłówków i serwer przez to nie chciał odpowiedzieć. Wszystko już działa. Dziękuję za pomoc !

Ten post edytował Sztef89 1.02.2013, 12:52:23
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 03:04