![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Czy da się wymusić w jakiś sposób by pobieranie treści strony zostało wykonane w 100% - uniemożliwić przerwanie tej operacji. Próbowałem pobrać treść spod pewnego url'a za pomocą file_get_contents($url) jak i z wykorzystaniem biblioteki curl. W obu przypadkach dopiero za którymś wywołaniem skryptu (odświeżeniem strony) ściągana była cała treść spod danego url'a, w pozostałych przypadkach tylko część. (W sumie to nawet nie wiem czy część. Po wyświetlenie tego co dostałem oczom ukazywało się morze krzaków (przypadkowych symboli)). Czy da się coś z tym zrobić? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 673 Pomógł: 106 Dołączył: 31.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
coś w tym stylu? (nierozumiem twojego problemu). -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czy da się wymusić w jakiś sposób by pobieranie treści strony zostało wykonane w 100% - uniemożliwić przerwanie tej operacji. No jak? Przecież jak nawala łącze, to nie za wiele zrobisz; możesz tylko sprawdzić, czy masz całość - strrpos i </html>, a jeśli masz nagłówek content-length, to sprawdzenie długości zwracanego ciągu. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
strrpos to jasna sprawa tylko:
i gdy zrobię to dostaję coś takiego: �������íýÝrDz&�^ŻőŐ�Ó[����ůý´ ° ŞVU�ŃÖ&IH�l�\ÜÔ�šŮ6mó{ú�ď°ď�Í÷Ň{�đüŤ�Ę��ĺěą#voDUf�GzÄWî��ó��ÍóĺtôËĂ�ëŃňéţÉl2zôĺăÇgtňřńÁć`ôĂ�ÍéÉ(ú*mî.nno.Ž?�Î�ýňđđvďńă÷ďß�ő�~u{÷óăÍęń?C[<\]~ů < ... i gdzie ja mam w tym szukać '</html>' ? ale jak już mówiłem za którymś razem dane są poprawne i ww. instrukcja wyświetla mi ściągniętą stronę w sumie to nawet nie wiem czy powodem tego jest niepełne ściągnięcie danych spod url'a? tak mi jedynie podpowiada intuicja |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A może byś tak dał odpowiednik nagłówek accept i wykluczył z niego zawartość skompresowaną?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
* - oznacza dowolny, czyli akceptowany jest również skompresowany.
Zobacz, jakie przykładowe accept jest wysyłane przez przeglądarkę i trochę pogłówkuj. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zobacz, jakie przykładowe accept jest wysyłane przez przeglądarkę i trochę pogłówkuj. A jak to można sprawdzić? Czy zamiast dawać w headersach Accept-Encoding: gzip;q=0, compress;q=0, itd... nie wystarczy w CURLOPT_ENCODING => 'false'? A do tego jeszcze sprecyzować Content-Lenght? Web-Sniffer stwierdził że zawartość nieskompresowana tej strony to 180kB. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat A jak to można sprawdzić? Masz Firebuga, to sprawdzisz. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Oka.
Zabanglało przy:
![]() Dzięki za wskazówki Zabanglało przy: Przedwczesna radość Dobra, teraz konkretnie. Strona która ściągam to http://bossa.pl/index.jsp?layout=3&pag...;zakladka=akcje skrypt wygląda tak:
Jak widać na stronie umieszczone są notowania spółek giełdowych. O ile kod który zaprezentowałem powyżej działa o tyle pojawiają się pewne błędy ze ściąganymi wartościami. Otóż: dla każdej spółki przedstawiony jest czas kiedy to ostatni raz zmieniła się jej cena (kolumna 6) uruchamiam skrypt kilka razy pod rząd i wyświetlam wynik (wyświetla mi się strona) z tym że jeżeli mamy spółkę której kurs zmienia się co kilka/naście/dziesiąt sekund (np. KGHM) to za każdym uruchomieniem skryptu wyświetla się inny czas w kol. 6, a dokładnie czasy (i wartości pozostałych kolumn w sumie też) z kilku ostatnich zmian kursu danej spółki. Dokładnie tak jakby gdzieś były przechowywane poprzednie wersje tej strony sprzed kilkunastu sekund. Natomiast kiedy normalnie wejdę na daną stronę to po każdym odświeżeniu dane są prawidłowe Myślałem że to strona jest gdzieś keszowana ale ustawienie Cache-Control na no-store, no-cache czy max-age=1 nic nie dało. O co może chodzić? ![]() Ten post edytował emiter 8.09.2009, 13:10:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 21:02 |