Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP - file_get_contents i proxy

Witam.

Mam problem. Na komputerze zainstalowałem Apache 2.2.3 oraz PHP 5.2. Jednak dostęp do internetu jest tylko i wyłącznie przez proxy.

Teraz pytanie odnośnie funkcji file_get_contents. O ile na serwerze gdzie nie ma proxy wszystko działa dobrze o tyle na serwerze z dostępem do internetu przez proxy funkcja ta wywala błąd z połączeniem strony.

Da się jakoś to inaczej obejść???

z góry dzięki

konto usunięte

Temat: PHP - file_get_contents i proxy

Łukasz Kozak:
Witam.

Mam problem. Na komputerze zainstalowałem Apache 2.2.3 oraz PHP 5.2. Jednak dostęp do internetu jest tylko i wyłącznie przez proxy.

Teraz pytanie odnośnie funkcji file_get_contents. O ile na serwerze gdzie nie ma proxy wszystko działa dobrze o tyle na serwerze z dostępem do internetu przez proxy funkcja ta wywala błąd z połączeniem strony.

Da się jakoś to inaczej obejść???

z góry dzięki

A wywala dokładnie jaki błąd?
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP - file_get_contents i proxy

No właśnie dokładnej treści nie przytoczę ale chodzi o to, że nie można nawiązać połączenia ze stroną. Dokładnie chodzi o linię:

$strona=file_get_contents("http://www.google.pl");

Wiem, że chodzi o te proxy i tu moje pytanie. Czy pod tą funkcję file_get_cotents można ustawić jakoś proxy??
Cezary S.

Cezary S. Project Manager,
Stepstone Services

Temat: PHP - file_get_contents i proxy

Spróbuj tak :

$url = 'http://www.google.pl';

$proxy = 'tcp://xxx:8080';
$context = array(
'http' => array(
'proxy' => $proxy,
'request_fulluri' => true,
),
);
$context = stream_context_create($context);
$body = file_get_contents($url, False, $context);

Jeśli to nie zadziała, pozostaje Ci użycie cURL :-)

Good Luck :-)
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP - file_get_contents i proxy

Dzięki. Jutro się pobawię ale też mi się zdaje, że trzeba będzie przez cURL

konto usunięte

Temat: PHP - file_get_contents i proxy

Proxy w cURL zrobisz sobie tak

$url = 'http://www.google.pl';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, '88.222.111.77:8080');
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 25);
$strona = curl_exec($ch);
Bartłomiej Ogryczak

Bartłomiej Ogryczak Backend Developer @
Layar

Temat: PHP - file_get_contents i proxy

Łukasz Kozak:
Witam.

Mam problem. Na komputerze zainstalowałem Apache 2.2.3 oraz PHP 5.2. Jednak dostęp do internetu jest tylko i wyłącznie przez proxy.

Teraz pytanie odnośnie funkcji file_get_contents. O ile na serwerze gdzie nie ma proxy wszystko działa dobrze o tyle na serwerze z dostępem do internetu przez proxy funkcja ta wywala błąd z połączeniem strony.

Da się jakoś to inaczej obejść???

Nie da się użyć file_get_contents z proxy. Można użyć cURL, który z proxy sobie radzi bez problemu.
Filip Górny

Filip Górny Programista,
webdeveloper.

Temat: PHP - file_get_contents i proxy

Bartłomiej Ogryczak:
Łukasz Kozak:
Witam.

Mam problem. Na komputerze zainstalowałem Apache 2.2.3 oraz PHP 5.2. Jednak dostęp do internetu jest tylko i wyłącznie przez proxy.

Teraz pytanie odnośnie funkcji file_get_contents. O ile na serwerze gdzie nie ma proxy wszystko działa dobrze o tyle na serwerze z dostępem do internetu przez proxy funkcja ta wywala błąd z połączeniem strony.

Da się jakoś to inaczej obejść???

Nie da się użyć file_get_contents z proxy. Można użyć cURL, który z proxy sobie radzi bez problemu.

Nieprawda,

http://stackoverflow.com/questions/1336262/file-get-co...Filip Górny edytował(a) ten post dnia 13.12.10 o godzinie 12:39
Bartłomiej Ogryczak

Bartłomiej Ogryczak Backend Developer @
Layar

Temat: PHP - file_get_contents i proxy

Filip Górny:
Bartłomiej Ogryczak:
Łukasz Kozak:
Witam.

Mam problem. Na komputerze zainstalowałem Apache 2.2.3 oraz PHP 5.2. Jednak dostęp do internetu jest tylko i wyłącznie przez proxy.

Teraz pytanie odnośnie funkcji file_get_contents. O ile na serwerze gdzie nie ma proxy wszystko działa dobrze o tyle na serwerze z dostępem do internetu przez proxy funkcja ta wywala błąd z połączeniem strony.

Da się jakoś to inaczej obejść???

Nie da się użyć file_get_contents z proxy. Można użyć cURL, który z proxy sobie radzi bez problemu.

Nieprawda,

http://stackoverflow.com/questions/1336262/file-get-co...

Ok, da się ręcznie skonfigurować. cURL potrafi automatycznie, na podstawie ustawień systemowych.
Cezary S.

Cezary S. Project Manager,
Stepstone Services

Temat: PHP - file_get_contents i proxy

Proponuję najpierw czytać posty poprzedników.
Czasami ma to sens, zwłaszcza, że już w drugim poście podałem to rozwiązanie.Cezary Subaczewski edytował(a) ten post dnia 13.12.10 o godzinie 15:56
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP - file_get_contents i proxy

Ok, źle trochę sprecyzowałem. Chodzi o to, że jest adres do skryptu automatycznej konfiguracji.

Czy jest wtedy szansa żeby się podpiąć prze curl bądź file_get_contnts ???
Rafał Korszuń

Rafał Korszuń co-owner @ Kleder

Temat: PHP - file_get_contents i proxy

Łukasz Kozak:
Ok, źle trochę sprecyzowałem. Chodzi o to, że jest adres do skryptu automatycznej konfiguracji.

Czy jest wtedy szansa żeby się podpiąć prze curl bądź file_get_contnts ???

istnieje szansa
procedura jest następująca:
1. za pomocą file_get_contents pobierasz skrypt konfiguracji
2. sprawdzasz namiary na swoje proxy (tam sa podane normalne ipki)
3. łączysz się z wybrana witryna używając wykrytego proxy
Łukasz K.

Łukasz K. Szlifujemy PHP +
jQuery (do gry) oraz
C# (serwer do gry)
...

Temat: PHP - file_get_contents i proxy

Ok, dzięki za info. Okazało się także, że serwer proxy wymaga uwierzytelnienia. Zrobiłem to w następujący sposób:

$url = 'http://www.google.pl';
$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ;
curl_setopt($ch, CURLOPT_USERPWD, $login.":".$psswd);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, FALSE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 25);

oczywiście pod zmiennymi kryją się odpowiednie dane :)))
Czy taki sposób jest dobry? Pytam się bo nie mam możliwości sprawdzenia.

Następna dyskusja:

php 5.3 "file_get_contents"




Wyślij zaproszenie do