Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> file_get_contents - failed to open stream: Redirection limit reached
grzeee
post 4.05.2012, 13:37:28
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


Witam,
mam problem z pobieraniem danych za pomocą file_get_contents.
Wszystko było ok do puki skrypt nie został przeniesiony na nowy serwer - nazwa.pl

Wyskakuje taki bląd:
file_get_contents(http://XXXXXXX/webdata/jlist/?node=0') [function.file-get-contents]: failed to open stream: Redirection limit reached, aborting in /home/xxxx/ftp/xxxx/test.php on line 11

adres po skopiowaniu, i wpisaniu w przeglądarkę otwiera się normalnie.
allow_url_fopen jest na ON

Ma ktoś pomysł skąd się to bierze questionmark.gif


--------------------
Polecam Jastrzębia Góra, serwis o nadmorskiej miejscowości.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
muniekw
post 4.05.2012, 13:40:56
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 22
Dołączył: 1.06.2009
Skąd: Warszawa

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


http://stackoverflow.com/questions/705593/...t-reached-error
Go to the top of the page
+Quote Post
grzeee
post 4.05.2012, 15:55:13
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


Już próbowałem dodać
'http'=>array('max_redirects' => 99)
za pomocą stream_context_create i dalej dzieje się to samo. No chyba że coś źle wyczytałem z tamtego wątka


Znalazłem roziwązanie mojego problemy, tak dla kogość kto by tego potrzebował:
Trzeba do get_file_contents dodać nagłówki, w moim przypadku wystarczyło User-Agent ustawić na cokolwiek byle było.
  1. $header_opts = array(
  2. 'http'=>array(
  3. 'header'=> "Accept-language: pl,en-us;q=0.7,en;q=0.3\r\n" .
  4. "User-Agent: ".$_SERVER['HTTP_USER_AGENT']."\r\n"
  5. )
  6. );
  7. $context = stream_context_create($header_opts);
  8. $json_cat_tree = file_get_contents($json_cat_url, false, $context );


--------------------
Polecam Jastrzębia Góra, serwis o nadmorskiej miejscowości.
Go to the top of the page
+Quote Post
wNogachSpisz
post 4.05.2012, 19:59:36
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Ja kiedyś też byłem nieźle zajarany contextami...
Do momentu gdy okazało że nie działają na niektórych wersjach php/apache.

Polecam porządne rozwiązanie - pear:http_request2
Go to the top of the page
+Quote Post
greycoffey
post 4.05.2012, 22:00:24
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Curl wymiata, napisz sobie prostą nakładkę na to, i rozwiązujesz większość problemów w kilku linijkach kodu.
Go to the top of the page
+Quote Post
wNogachSpisz
post 4.05.2012, 22:30:58
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Cytat(greycoffey @ 4.05.2012, 23:00:24 ) *
Curl wymiata, napisz sobie prostą nakładkę na to, i rozwiązujesz większość problemów w kilku linijkach kodu.

Nie masz chłopcze pojęcia...

pear:http_request2 ma tzw "curl adapter".
Możesz wybrać sobie moduł za pomocą którego bibliteka będzie korzystać z sieci (poliformizm).
Do wyboru do koloru - Socket, CURL, możesz też użyć zupełnie abstrakcyjnego modułu testowego, który będzie zwracał głupoty, np same błędy HTTP, to pozwala łatwo testować aplikacje smile.gif
Go to the top of the page
+Quote Post
grzeee
post 5.05.2012, 07:51:41
Post #7





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


To było za poroste pobieranie żebym curla używał wink.gif
Poza tym coś tu nie grało z serwerem bo na poprzednim gdzie jest nowsza wersja PHP a ustawienia praktycznie te same wszystko, wystarczyło że dodałęm w nagłówku user-agent i zaczeło śmigać.
Nawet admin z nazwy nie wiedział o co chodzi i tłumaczył się jakimś zapętleniem w skrypcie wink.gif

pear:http_request2 wygląda okazale jednak jak już wspominałem to za mała aplikacja na takie dodatki.


--------------------
Polecam Jastrzębia Góra, serwis o nadmorskiej miejscowości.
Go to the top of the page
+Quote Post
greycoffey
post 5.05.2012, 09:04:42
Post #8





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(wNogachSpisz @ 4.05.2012, 23:30:58 ) *
Nie masz chłopcze pojęcia...

pear:http_request2 ma tzw "curl adapter".
Możesz wybrać sobie moduł za pomocą którego bibliteka będzie korzystać z sieci (poliformizm).
Do wyboru do koloru - Socket, CURL, możesz też użyć zupełnie abstrakcyjnego modułu testowego, który będzie zwracał głupoty, np same błędy HTTP, to pozwala łatwo testować aplikacje smile.gif

Oczywiście, proszę Pana. Daruj sobie takie teksty.
Co z tego, curl można mięc na większości serwerów, działa dobrze, więc nie potrzebuje implementować socketów.
Czy ja napisałem, że twój kochany pear::http_request2 jest daremny? Nie znam go, napisałem tylko, że curl wymiata.
Czytaj ze zrozumieniem, Szanowny Panie.
Go to the top of the page
+Quote Post
wNogachSpisz
post 5.05.2012, 10:23:33
Post #9





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Daremny? Nie rozumiem co masz na myśli.
Nie rozumiem też tego zdania że CURL można mieć na większości serwerów, HTTP_Request mozna mieć na jeszcze większej ilości serwerów...
CURL nie wymiata, CURL jest strasznie wolny, sockety są szybsze..
To tylko kilka powodów dla których warto poświęcić te kilka godzin i nauczyć się HTTP_Request2.

Ten post edytował wNogachSpisz 5.05.2012, 10:27:49
Go to the top of the page
+Quote Post
greycoffey
post 5.05.2012, 10:38:03
Post #10





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Cytat(wNogachSpisz @ 5.05.2012, 11:23:33 ) *
Daremny? Nie rozumiem co masz na myśli.

Ech, czytaj ze zrozumieniem!
Cytat
Czy ja napisałem, że twój kochany pear::http_request2 jest daremny?

Dalej...
Cytat( @ 5.05.2012, 11:23:33 ) *
Nie rozumiem też tego zdania że CURL można mieć na większości serwerów, HTTP_Request mozna mieć na jeszcze większej ilości serwerów...

CURL można mieć na większości serwerów - prawda.
HTTP_Request2 można mieć na jeszcze większej liczbie serwerów - tyż prawda.
Cytat(wNogachSpisz @ 5.05.2012, 11:23:33 ) *
CURL nie wymiata, CURL jest strasznie wolny, sockety są szybsze..

PHP jest strasznie wolny... Używajmy C... Też jest wolne, piszmy w Assemblerze... W sumie lepsze wyniki da się uzyskać pisząc odrazu w kodzie maszynowym, do tego nie trzeba instalować kolejnych niepotrzebnych programów!

Generalnie nie rozumiesz dużej ilość zdań, polecałbym naukę języka polskiego, miast programowania wink.gif
Do tego nauka czytania ze zrozumieniem, Czcigodny.
Go to the top of the page
+Quote Post
wNogachSpisz
post 5.05.2012, 11:32:18
Post #11





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


To jest forum o PHP, nie o C czy asemblerze..
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 01:05