Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cURL] ściąga starą stronę
Forum PHP.pl > Forum > PHP
bingo289
Czołem. Ściągam pewną stronę curlem do późniejszego parsowania. Mam problem tego typu, że strona pobrana przez curla jest dużo starsza od tej widocznej w jakiejkolwiek przeglądarce - wygląda to tak, jakby u mnie na komputerze ta strona jednokrotnie zapisywała się w jakimś cache'u, a potem była z niego za każdym razem odczytywana, mimo że wysyłam do funkcji polecenie by tego nie robiła.
  1. function fetchURL($url){
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, $url);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  5. curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
  6. curl_setopt($ch, CURLOPT_TIMEOUT, 20);
  7. curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
  8. curl_setopt($ch, CURLOPT_FORBID_REUSE , true);
  9.  
  10. $feedData = curl_exec($ch);
  11. curl_close($ch);
  12. return $feedData;
  13. }
markuz
Cytat
strona pobrana przez curla jest dużo starsza od tej widocznej w jakiejkolwiek przeglądarce

Piszesz to na podstawie porównania źródła HTML czy wyglądu?
bingo289
Kod i treść się różnią. Po prostu w PHP nie mogę obrobić najnowszej strony, którą widzę w przeglądarce.
markuz
To wejdź w narzędzia dev chrome/firefox (firebug) i wyślij takie same nagłówki jakie wysyłasz z przeglądarki - być może strona broni się przed niechcianym ruchem w ten sposób. Jak to nie zadziała to podepnij pod curl-a ciasteczka.
bingo289
Przesyłanie nagłówków nic nie daje. Zauważyłem, że w zależności od tego czy jako url wpiszę stronę *.pl/ czy *.pl/index.php czy *.pl/index.php?t=0 to za każdym przypadku dostaję wersję strony z inną datą.
markuz
Ale w cURL`u nie ma czegoś takiego jak cache. Pokaż poprawione zapytanie z dodanymi nagłówkami i ciasteczkami.
bingo289
Podpięcie ciasteczek nic nie dało. Problem rozwiązałem włączając samą opcję POST:
  1. curl_setopt($ch, CURLOPT_POST, true);

Teraz funkcja pobiera najnowszą wersję strony thumbsupsmileyanim.gif
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.