Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: CURL - blokada portu 80
Forum PHP.pl > Forum > PHP
Ziem
Witam!
Wrzuciłem swój skrypt z CURLem (który pobiera stronę www i ją odpowiednio przetwarza) na serwer. Niestety, administrator zablokował możliwość łączenia się na porcie 80 i skrypt nie działa.
Czy jest możliwość obejścia tego problemu?

Pozdrawiam, Ziem!
wookieb
Próbowąłeś CURLOPT_PORT? http://pl.php.net/manual/en/function.curl-setopt.php
Crozin
@wookieb: to by miało sens jedynie w przypadku, gdyby zewnętrzny serwer udostępniał stronę pod tym innym portem - czego w 99% serwisów nie uświadczymy.

Możesz spróbować połączyć się przez jakieś proxy, jednak administrator blokował port 80 w jakimś konkretnym celu. Jeżeli zobaczy, że po prostu ominąłeś to ograniczenie - prawdopodobnie "rozwiąże" Twój problem.
wookieb
Cytat(Crozin @ 13.09.2010, 17:40:53 ) *
@wookieb: to by miało sens jedynie w przypadku, gdyby zewnętrzny serwer udostępniał stronę pod tym innym portem

Na to liczę.
Ziem
Dzięki za odpowiedzi smile.gif!

Cytat(wookieb @ 13.09.2010, 16:41:33 ) *

Niestety nie działa. Próbowałem porty: 8080 i 443, niestety tylko na porcie 80 znajduje stronę (mowa o localhoście).

Cytat(Crozin @ 13.09.2010, 17:40:53 ) *
@wookieb: to by miało sens jedynie w przypadku, gdyby zewnętrzny serwer udostępniał stronę pod tym innym portem - czego w 99% serwisów nie uświadczymy.

Możesz spróbować połączyć się przez jakieś proxy, jednak administrator blokował port 80 w jakimś konkretnym celu. Jeżeli zobaczy, że po prostu ominąłeś to ograniczenie - prawdopodobnie "rozwiąże" Twój problem.

Nie jest tajemnicą, że chodzi mi tutaj o usługę ovh free (http://forum.ovh.pl/showthread.php?t=8554 - wyjaśnienie). Nie mam zamiaru używać CURLa do jakichś "niecnych celów", po prostu chciałbym pobrać i wyświetlić na swojej stronie informacje z innej.

Co do proxy to poczytam.
NuLL
Jesli nie musisz robic jakis cudow z ciasteczkami czy User-agentem mozesz sprobowac z file_get_contents. Pozatym sa jeszcze sockety oraz stary, dobry Snoopy - http://sourceforge.net/projects/snoopy/
Ziem
Dzięki za dodatkowe informacje biggrin.gif!

Niestety, file_get_contents też nie działa:
Cytat
Warning: file_get_contents(http://www.onet.pl/) [function.file-get-contents]: failed to open stream: Connection refused ...


Będę próbował dalej smile.gif.

Snoopy też nie pomoże:
  1. var $port = 80; // port we are connecting to

Na innym porcie niż 80 strona nie odpowiada.
erix
Cytat
Możesz spróbować połączyć się przez jakieś proxy, jednak administrator blokował port 80 w jakimś konkretnym celu. Jeżeli zobaczy, że po prostu ominąłeś to ograniczenie - prawdopodobnie "rozwiąże" Twój problem.

Nawet nie będzie musiał. Jeśli blokuje połączenia źródłowe z portu 80 na poziomie firewalla, to choćby siedział w WC tygodniami, to nic nie zrobi.
Ziem
Gdyby ktoś był ciekawy, to tak oto rozwiązałem mój problem:
  1. <?php
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, "http://www.onet.pl/");
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3');
  6. curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, FALSE);
  7. curl_setopt($curl, CURLOPT_PROXY, "194.29.150.140:3128");
  8.  
  9. if(curl_exec($curl) == false)
  10. {
  11. echo "Curl error: " . curl_error($curl);
  12. }
  13.  
  14. curl_close($curl);
  15. ?>


Tylko te proxy... Ciężko znaleźć coś dobrego...

Dzięki wszystkim za pomoc smile.gif!
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.