Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> file_get_contents - failed to open stream: Redirection limit reached
grzeee
post
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 (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
muniekw
post
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
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 );
Go to the top of the page
+Quote Post
wNogachSpisz
post
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
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
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
grzeee
post
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ł (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/wink.gif)

pear:http_request2 wygląda okazale jednak jak już wspominałem to za mała aplikacja na takie dodatki.
Go to the top of the page
+Quote Post
greycoffey
post
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 (IMG:style_emoticons/default/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
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
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 (IMG:style_emoticons/default/wink.gif)
Do tego nauka czytania ze zrozumieniem, Czcigodny.
Go to the top of the page
+Quote Post
wNogachSpisz
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 09:27