Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: file() nie działa na niektóre strony
Forum PHP.pl > Forum > PHP
rafalp
Chciałem przeprasować pewne dane ze strony NK

  1. <?php
  2. $www = 'http://nasza-klasa.pl/profile/xxxxxx/gallery';
  3. $strona = file($www);
  4. ?>


no i mam jedynie:
failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden

inne strony działają, jak oni to zrobili że wywołanie adresu z przeglądarki działa a przez file() ani file_get_contents() nie działa?
pyro
hmmm... moze trzeba podac User-Agent albo coś... zobacz jakas wtyczka do przegladarki naprzyklad Dane Tamper do firefoxa jakie naglowki wysylasz, a potem probuj pobierac cURL'em dodając podobne, ptem mozesz uzyc explode("\n", $result);
nevt
Cytat
jak oni to zrobili że wywołanie adresu z przeglądarki działa a przez file() ani file_get_contents() nie działa?

pewnie tak, że ...nasza-klasa.pl/profile/xxxxxx/gallery to nie link do pliku tylko przyjazny (czyli fikcyjny) link...
rafalp
Cytat(bartg @ 2.12.2008, 00:46:35 ) *


file_get_contents() jak już NAPISAŁEM też nie działa.
chciałem zastosować file() gdyż mam wtedy aktualne ciastka i sesje a przy cURL trzeba się od nowa logować.


Cytat(nevt @ 2.12.2008, 00:10:50 ) *
pewnie tak, że ...nasza-klasa.pl/profile/xxxxxx/gallery to nie link do pliku tylko przyjazny (czyli fikcyjny) link...

@nevt: nie wydaje mi się żeby chodziło o przyjazde URL-e, inne strony file() "zbiera" - te z podobnymi przyjaznymi URL-ami także. Przy stronach NK mamy natomiast 403.
erix
Jedynie cURL Ci pójdzie. winksmiley.jpg Ciastka, owszem, ale nie do NK, a oni wymagają zalogowania w celu przeglądania zdjęć. winksmiley.jpg

Twoje ciastka nie są im potrzebne. A chyba się nie rozumiemy, do czego służy file" title="Zobacz w manualu PHP" target="_manual...
pyro
Cytat(rafalp @ 1.12.2008, 23:20:46 ) *
file_get_contents() jak już NAPISAŁEM też nie działa.
chciałem zastosować file() gdyż mam wtedy aktualne ciastka i sesje a przy cURL trzeba się od nowa logować.



@nevt: nie wydaje mi się żeby chodziło o przyjazde URL-e, inne strony file() "zbiera" - te z podobnymi przyjaznymi URL-ami także. Przy stronach NK mamy natomiast 403.


no no... jak ty niby wysylasz ciacha przez file()?
jajcarzd1
Cytat(erix @ 2.12.2008, 01:39:58 ) *
Jedynie cURL Ci pójdzie. winksmiley.jpg Ciastka, owszem, ale nie do NK, a oni wymagają zalogowania w celu przeglądania zdjęć. winksmiley.jpg

Twoje ciastka nie są im potrzebne. A chyba się nie rozumiemy, do czego służy file" title="Zobacz w manualu PHP" target="_manual...


użyj sobie klasy snoopy będzie łatwiej

http://blog.zeromski.com.pl/2008/09/06/nas...anie-znajomych/
rafalp
Cytat(pyro @ 2.12.2008, 01:42:17 ) *
no no... jak ty niby wysylasz ciacha przez file()?


Loguje sie na NK normalnie z przeglądarki.
Wywołuje file() na localhoscie, założyłem że file() pobierze mi stronę NK uwzględniając ciacha i sesje z mojego wcześniejszego "normalnego" logowania sie do tego serwisu i wyświetli mi zawartość strony (nie mogę tego sprawdzić ponieważ zwraca mi 403)
tsharek
Cytat(rafalp @ 2.12.2008, 12:22:41 ) *
Loguje sie na NK normalnie z przeglądarki.
Wywołuje file() na localhoscie, założyłem że file() pobierze mi stronę NK uwzględniając ciacha i sesje z mojego wcześniejszego "normalnego" logowania sie do tego serwisu i wyświetli mi zawartość strony (nie mogę tego sprawdzić ponieważ zwraca mi 403)


nic bardziej mylnego. tak się nie da! curl i ustawianie ciasteczek z poziomu curla
bim2
Napisz program ktory otworzy IE, pobierze stronę i zapisze ją do pliku a później w php exec" title="Zobacz w manualu PHP" target="_manual Ale to przerost formy nad treścia... Curl to jedyna sensowna odpowiedź.
pyro
...lub fsockopen() w razie braku cURLa
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.