[PHP][CURL] Dziwne zachowanie skryptu

0

Tutaj skrypt wzięty żywcem z innego forum - wg ludzi tam piszących jest poprawny:

$ch = curl_init();

$adres = "http://www.mojeip.org";

$proxy = "91.121.20.41";

$port ="443";

curl_setopt($ch, CURLOPT_URL, $adres);

curl_setopt($ch, CURLOPT_PROXY, $proxy);

curl_setopt($ch, CURLOPT_PROXYPORT, $port);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   (1)

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);  (2)

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_exec($ch);
curl_close($ch);

Tymczasem mnie wyświetla sie pusta strona.

Moje próby rozwiązania problemu:

  1. zmianiałem adresy proxy - zawsze to samo - pusta strona
  2. zmieniałem adres docelowy - to samo
  3. dziwna sprawa - po zakomentowaniu linii (1) i (2) wszystko śmiga, nawet ip jest zmienione (sprawdziłem)

Jednak owe linie są zgodnie z tym co wyczytałem w manualu potrzebne w tego typu skryptach
Co więc jest nie tak?

0
echo curl_error($ch);
0

Kod który się wyświetla to

Received HTTP code 403 from proxy after CONNECT

co jest dziwne bo po sprawdzeniu tegoż proxy w mojej przeglądarce działa aż miło.

0

Dzięki za linka, ale tam koleś radzi mu usunąć te linie które ja zakomentowałem. A przecież wg manuala one są w porzadku.

Poza tym kod który kazał wkleić w pliku

if (is_int(curl_exec($ch))) {
    die ("cURL error:".curl_error($ch)."\n");
}

nie wyświetla nic.

0
  1. dziwna sprawa - po zakomentowaniu linii (1) i (2) wszystko śmiga, nawet ip jest zmienione (sprawdziłem)

Skoro działa po zakomentowaniu, to olej manual którego również nie piszą nadludzie, szczególnie że to zewnętrzna biblioteka i zdarzają się błędy.

0

Nadludzie może nie, ale na pewno b. dobrzy programiści. Poza tym poguglałem trochę i znalałem wiele przykładów użycia proxy i curl - wszystkie posiadają te dwie linie.

Zrobiłem jeszcze parę prób ale bez skutki - biala strona cały czas...

0

Szukasz dziury w całym, skoro działa bez tych linii no to w czym prostytutka problem?

0
  1. Jestem początkującym programistą
  2. W OFICJALNYM manualu pisze tak jak pisze
  3. We wszystkich NIEOFICJALNYCH przykładach (fora, tutoriale) jest tak jak to przytoczylem powyżej.

Tak więc chyba mam prawo dociekać dlaczego akurat u mnie jest odwrotnie?

0

Bo jest, niektórych rzeczy w programowaniu się nie wyjaśnia, bo nie ma czasu. Szczególnie że to pewnie jeden z kilku(nastu) tysięcy bugów w PHP jak utrata danych w json_decode, albo to że używanie slashy w configu apache dotyczącym PHP powoduje crash...

cURL to zewnętrzna biblioteka, możliwe że zdeprecjonowano niektóre opcje, albo po prostu robią co innego niż powinny pod wpływem błędu.

0

@Goomoez

nie przejmuj się facetem powyżej, on tak zawsze, prawdopodobnie osobowość wysoce socjopatyczna.

0

Do tej pory upierdliwe były pytania "czemu mi to nie działa" z oczywistą odpowiedzią możliwą do wyszukania w kilka sekund. Teraz się trafia jeszcze bardziej udane pytanie: czemu mi to działa... Ocenę osobowości pozostaw specjalistom :] Ale fakt, nie przejmując się mną dojdziesz do tego że nie otrzymałeś żadnej, nawet szczątkowej odpowiedzi na pytanie, jako że nikt inny nie udzielał się w temacie.

0

Hehe, bez przesady, koleś bardzo mi pomaga :)

Bardzo dziękuję za wszystkie informacje. Dlaczego tak bardzo chce to wyjaśnić? Otóż nie chciąbym żeby po przesłaniu strony na serwer skrypt się posypał (mimo że u mnie na localhoście działa dobrze tam może nie działć zupełnie)

0

W takich nieznanych sytuacjach, jedyna możliwość to w przypadku prywatnej aplikacji wrzucenie jej na serwer i przetestowanie na prostym przykładzie. No jeśli robisz coś publicznie można po prostu dać pod testy i czekać na ewentualne uwagi lub raporty użytkowników. Nie wiem co tam się z tym curlem działo przez wieki, ale w dokumentacji PHP jest syf, nie tylko w tym miejscu i trzeba się z tym pogodzić. Właśnie stąd bierze się doświadczenie dotyczące widzenia na oko co zadziała, a co nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1