konto usunięte

Temat: klasa cURL - problem z proxy

Witam, napisałem sobie klasę PHP do obsługi cUrl'a z proxy by przeglądać zagraniczną stronę, niestety ta strona działa tylko na IP z danego kraju (polskie IP jest blokowane).

Klasa chyba zawiera jakiś błąd, bo proxy jest tak jakby ignorowane i zawsze pokazuje mi ten sam adres IP.

Moja część klasy:
http://wklejto.pl/76270
Pass: asd

Teraz jest pytanie czy to wina błędu skryptu czy może hosting blokuje łączenie cURL'a przez proxy?
Samo proxy jak testuje w domu działa prawidłowo.Grzegorz Konsek edytował(a) ten post dnia 06.09.10 o godzinie 20:02

konto usunięte

Temat: klasa cURL - problem z proxy

Jeżeli jesteś w stanie otworzyć wybraną stronę przez przeglądarkę z wykorzystaniem danego proxy, to dokładnie to samo możesz zrobić z cURL. Nic nie jest w stanie wykryć, że request pochodzi z cURL-a a nie przeglądarki.
Skoro działa w jednym to musi w drugim - czyli gdzieś masz jakiegoś babola po drodze.
Lukasz Rob

Lukasz Rob bazy danych

Temat: klasa cURL - problem z proxy

A ja pozwolę się z tym nie zgodzić. W przypadku prostych stron - ok. Ale jeśli zacznie sie próbować zrobić logowanie do jakiegoś skomplikowanego banku - zaczynaja sie schody. Wiele rzeczy może być zrobione w ajaxie pomieszanym z javascriptem w kodzie. Ewentualnie strona może być sieknieta jako aplet javy lub flasha.
W takich i innych przypadkach brakuje narzędzia, które symulowaloby prace przeglądarki netowej tylko z automatyzacja zadanych działań. Przydałoby sie oj tak.
Z curlem trzeba wiele dni siedzieć nad kodem stron wgrywac sie z httpfoxem co i jak sie w niej wykonuje, Zeby ostatecznie dopaść jakaś mozliwosc automatyzacji.
W sumie siedzę nad takim projektem jakis dłuższy juz czas i w przypadku konkretnie jednej ze stron - zaczynam przypuszczać, ze curl niestety nie stanowi pełnego zastępstwa dla symulacji pracy przeglądarki.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: klasa cURL - problem z proxy

curl_setopt($ch, CURLPROXY_HTTP, \"ip\");


w miejscu \"ip\" nie powinna być jakaś zmienna?

@lukasz rob: ajax nie ma tu nic do rzeczy, przecież i tak wysyłasz żądanie do serwera więc jakie znaczenie ma to co jest po stronie klienta?

konto usunięte

Temat: klasa cURL - problem z proxy

Łukasz Schabek:
@lukasz rob: ajax nie ma tu nic do rzeczy, przecież i tak wysyłasz żądanie do serwera więc jakie znaczenie ma to co jest po stronie klienta?

Tak, tylko że curl nie zrobi requestów ajaxowych automatycznie, bo nie ma parsera i interpretera Javascriptu :)

Nawet w moim prościutkim projekciku bramki sms Orange MBOX musiałem parsować regexpami JSa i wyciągać z niego dane potrzebne do requestu. Tym bardziej jeśli to będzie strona jakiegoś banku, będzie jeszcze trudniej.Adam Michalski edytował(a) ten post dnia 24.08.11 o godzinie 23:43

konto usunięte

Temat: klasa cURL - problem z proxy

A teraz przeczytajcie jeszcze raz pierwszy post. I pokażcie gdzie jest mowa o parsowaniu JS-ów czy interakcji z przeglądarką? Bo ja może jakiś ślepy jestem albo co...

A jak już robimy offtop to wydaje mi się, że w 9/10 przypadków nie jest istotne co się dzieje po stronie przeglądarki. Request jest request. Zawsze zawiera takie a nie inne dane. I zawsze można je zasymulować.
Jedyny przypadek w którym się to nie sprawdzi to taki, gdzie pewne wartości do formularza są pakowane przez JS. Ale koniec końców skoro wiemy jak zostały wyliczone (przecież dostęp do JS-a mamy) to możemy je samemu wyliczyć i wstawić do requesta tak jak trzaba.
Samo prasowanie JS-a to już naprawdę jednostkowe przypadki a i tak wszystko pójdzie w siną dal jak twórcy pozmieniają nieco kod JS-a. I tak czy siak robisz wszystko od nowa :)

konto usunięte

Temat: klasa cURL - problem z proxy

1. Sprawdz jaka masz wersje curla i czy opcje, ktorych uzywasz nie wymagaja nowszej.

2. Co to za opcja CURLPROXY_HTTP?
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: klasa cURL - problem z proxy

Adam Michalski:
Łukasz Schabek:
@lukasz rob: ajax nie ma tu nic do rzeczy, przecież i tak wysyłasz żądanie do serwera więc jakie znaczenie ma to co jest po stronie klienta?

Tak, tylko że curl nie zrobi requestów ajaxowych automatycznie, bo nie ma parsera i interpretera Javascriptu :)

A czy napisałem że robi? Nie istotne jest w jakim języku napisany jest klient. Pracujemy z protokołem HTTP i na tym należy się skoncentrować.
Nawet w moim prościutkim projekciku bramki sms Orange MBOX musiałem parsować regexpami JSa i wyciągać z niego dane potrzebne do requestu. Tym bardziej jeśli to będzie strona jakiegoś banku, będzie jeszcze trudniej.

No właśnie, interesuje nas tylko to, jakie dane wysłać metodą request.
Sposób pozyskania tych danych to już inna piłka.

Następna dyskusja:

Curl & AJAX - problem




Wyślij zaproszenie do