Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> udawanie przeglądarki?
bulczas
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 1.10.2005

Ostrzeżenie: (0%)
-----


witam,
czy jest możliwość żeby skrypt udawał przeglądarke, wczytywał strone o określonej porze (danej godzinie) i klikał na link na owej stronie?

pzdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Przyda Ci się cURL" title="Zobacz w manualu php" target="_manual i szukaj CURLOPT_USERAGENT
Go to the top of the page
+Quote Post
no_face
post
Post #3





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Z gory przepraszam za odswierzenie tematu, ale po co tworzyc nowy jak jest ich juz 4.

Chcialbym sie dowiedziec czy idzie w 100% udawac przegladarke uzywajac funkcji curl, dzialajac na tym samy ip (np stawiajac sobie serverek na kompie i z niego dzialac). Czy wystarczy przekazac CURLOPT_USERAGENT, czy jednak jest potrzebny caly zestaw zmiennych, prosze mi troszeczke to zobrazowac.
Go to the top of the page
+Quote Post
LBO
post
Post #4





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wszystko mozna... cała sieć opiera sie na nagłówkach, a ich obsługa jest całkiem prosta...

edit:
zmonitoruj kiedys, jakie nagłówki wysyła np Firefox (są do tego narzędzia) i wszystko będziesz wiedział.

Ten post edytował LBO 26.07.2006, 14:05:42
Go to the top of the page
+Quote Post
Vogel
post
Post #5





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

Ostrzeżenie: (0%)
-----


Cytat(no_face @ 26.07.2006, 14:52 ) *
Z gory przepraszam za odswierzenie tematu, ale po co tworzyc nowy jak jest ich juz 4.

Chcialbym sie dowiedziec czy idzie w 100% udawac przegladarke uzywajac funkcji curl, dzialajac na tym samy ip (np stawiajac sobie serverek na kompie i z niego dzialac). Czy wystarczy przekazac CURLOPT_USERAGENT, czy jednak jest potrzebny caly zestaw zmiennych, prosze mi troszeczke to zobrazowac.


zerknij co wysyla twa przegladarka i zrob to samo:
http://pgl.yoyo.org/http/browser-headers.php (tylko uwazaj na kompresje gzip w Accept-Encoding ;D bo mozesz sie zdziwic)
Go to the top of the page
+Quote Post
no_face
post
Post #6





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Wczesniej jeszcze przed napisaniem posta wyzej, wgralem plugina do ff ktory mialmi pokazac te sprawy, niestety niedziala. Wchodzac na podana strone otrzymuje takie naglowki:
Cytat
Accept:
Accept-Charset:
Accept-Encoding:
Accept-Language:
Connection:
Host:
Keep-Alive:
Referer:
User-Agent:

Domyslam sie, ze host, referer w tym przypadku nie sa potrzebne. Cala reszte procz user-agent podpiac za pomoca opcji CURLOPT_HTTPHEADER. Czy to wystarczy by udawac przegladarke na 100% ?
Go to the top of the page
+Quote Post
Ludvik
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Accept-Encoding jeszcze zastąp specjalną opcją. Jeżeli wyślesz samodzielnie nagłówek, to nie daj boże, jak dostaniesz zakodowaną odpowiedź. Przy odkodowywaniu sypały mi się trochę funkcje gzip...
Go to the top of the page
+Quote Post
no_face
post
Post #8





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Zgodnie z Waszymi wskazowkami na podstawie naglowkow ktore otrzymalem ze strony podanej wyzej.
Cytat
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Accept-Encoding: gzip,deflate
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Connection: keep-alive
Host: pgl.yoyo.org
Keep-Alive: 300
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4


Napisalem kilka linijek kodu:
Kod
$header = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$header .= 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7';
$header .= 'Accept-Language: pl,en-us;q=0.7,en;q=0.3';
$header .= 'Connection: keep-alive';
$header .= 'Host: rownoznaczny_z_url_curla';
$header .= 'Keep-Alive: 300';

curl_setopt($c, CURLOPT_URL, "http://strona.pl");
curl_setopt($c, CURL_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, "post_data");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($c, CURLOPT_ENCODING , "gzip,deflate");
curl_setopt($c, CURLOPT_HTTPHEADER, $header);

Chcialbym sie zorientowac, czy poprawnie to sklecilem i czy o to chodzilo. I jeszcze jedno czy pomiedzy np: Connection: keep-alive ma byc spacja, czy tabulator, czy to bez znaczenia.
Go to the top of the page
+Quote Post
Ludvik
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Na pewno nie tak:
  1. <?php
  2. $header = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
  3. $header .= 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7';
  4. $header .= 'Accept-Language: pl,en-us;q=0.7,en;q=0.3';
  5. $header .= 'Connection: keep-alive';
  6. $header .= 'Host: rownoznaczny_z_url_curla';
  7. $header .= 'Keep-Alive: 300';
  8. ?>

Raczej tak:
  1. <?php
  2. $header = array();
  3. $header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
  4. $header[] = 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7';
  5. $header[] = 'Accept-Language: pl,en-us;q=0.7,en;q=0.3';
  6. $header[] = 'Connection: keep-alive';
  7. $header[] = 'Host: rownoznaczny_z_url_curla';
  8. $header[] = 'Keep-Alive: 300';
  9. ?>

Poza tym powinno być:
  1. <?php
  2. curl_setopt($c, CURLOPT_ENCODING , '');
  3. ?>
Go to the top of the page
+Quote Post
no_face
post
Post #10





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

Ostrzeżenie: (0%)
-----


Po prostu polaczylem ze soba ciagi znakow, myslalem ze takie rozwiazanie moglo byc dobre.

Piszac:
Kod
curl_setopt($c, CURLOPT_ENCODING , "gzip,deflate");

Stososowalem sie do tego co wyzej napisales, by zastapic kodowanie specjalna opcja, nie myslalem ze trzeba ja wylaczyc, piszac tak:
Kod
curl_setopt($c, CURLOPT_ENCODING , '');


Wiec przy takich ustawieniach nie idzie rozpoznac czy to wchodzi sie czysto przez przegladarke czy nie?

Dziekuje za wszystkie informacje i czas poswiecony.
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: 22.08.2025 - 23:19