Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php] automatyczne głosowanie na zdjęcia (wp.pl), brak docelowego adresu w formularzu
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Zastanawiałem się ostatnio czy można napisać jakiegoś bota który będzie głosował na galerie na wp.pl. Myślałem tu o crul, zajrzałem w źródło strony chciałem zobaczyć jaka jest wartość action="" ale ta wartość jest pusta (IMG:style_emoticons/default/haha.gif) . Dane przekazywane są chyba poprzez javascript. Tylko jak to odgadnąć. Przykładowe zdjęcie i sposób głosowania http://www.afrin.wp.pl/zdjecie/id,4291.html

Pozdrawiam
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Firebug i zobacz gdzie i co skrypt js przesyła. ;]
Go to the top of the page
+Quote Post
Lejto
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


patrzałem, ale nie mogę odnaleźć
nie znam aż tak dobrze javascript
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To liveheaders, mi pokazał przykładowo:

Kod
http://www.afrin.wp.pl/zdjecie/id,5168.html

POST /zdjecie/id,5168.html HTTP/1.1
Host: www.afrin.wp.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.afrin.wp.pl/zdjecie/id,5168.html
Cookie: statid=83.143.99.79.1212:1258321986:1547703461:v1; OAX=U49jT0sAeEcACy0P; RMAM=01TFSM_1700.4bXd0MdG|; PHPSESSID=5uqeoqu91daqsp982bkh3uuno0
Content-Type: application/x-www-form-urlencoded
Content-Length: 80
event=1&formname=oceny&ocenaPomyslowosc=10&ocenaProfesjonalizm=10&ocenaJakosc=10
HTTP/1.x 200 OK
Date: Fri, 20 Nov 2009 21:26:48 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Fri, 20 Nov 2009 21:27:02 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
Go to the top of the page
+Quote Post
Lejto
post
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok, ale nie widzę tu docelowego adresu który wysyła dane i potem dodaje je do bazy
Go to the top of the page
+Quote Post
Wicepsik
post
Post #6





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Zainteresuj się cURL jeśli chcesz zrobić automatyczne głosowanie...
Go to the top of the page
+Quote Post
Lejto
post
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


no to ja wiem ze curl trzeba użyc ale nie mam adresu na który wysyłany jest formularz
a nie umiem napisać bota który wchodzi na stronę i "naciska przycisk głosuj"
Go to the top of the page
+Quote Post
black.old.cat
post
Post #8





Grupa: Zarejestrowani
Postów: 37
Pomógł: 8
Dołączył: 8.11.2009

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


  1. <form action="http://www.afrin.wp.pl/zdjecie/id,4291.html" method="post">
  2. <pre>
  3. event : <input type="text" name="event" value="1">
  4. formname : <input type="text" name="formname" value="oceny">
  5. Pomyslowosc : <input type="text" name="ocenaPomyslowosc" value="10">
  6. Profesjonalizm : <input type="text" name="ocenaProfesjonalizm" value="10">
  7. Jakosc : <input type="text" name="ocenaJakosc" value="10">
  8. <input type="submit" value="send">
  9. </pre>
  10. </form>


Ten post edytował black.old.cat 21.11.2009, 12:53:08
Go to the top of the page
+Quote Post
Fifi209
post
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Lejto @ 20.11.2009, 22:42:01 ) *
ok, ale nie widzę tu docelowego adresu który wysyła dane i potem dodaje je do bazy


Druga linijka, zaczynająca się od POST, właściwie w pierwszej masz cały adres...
Go to the top of the page
+Quote Post
Lejto
post
Post #10





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


myślałem że przekierowywuje na inny adres i tam dodaje dane do bazy
to jak napisać kod który wejdzie na stronę i automatycznie odda głos?
Go to the top of the page
+Quote Post
Wicepsik
post
Post #11





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


cURL
Go to the top of the page
+Quote Post
Lejto
post
Post #12





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


bawiłem się cURL ale nie wiem za bardzo jak wykorzystać go do kliknięcia w przycisk głosuj, używałem go tylko do pobierania danych ze strony
Go to the top of the page
+Quote Post
Wicepsik
post
Post #13





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Trudno poszukać w internecie?

http://wortal.php.pl/wortal/artykuly/php/b...http/formularze
Go to the top of the page
+Quote Post
Lejto
post
Post #14





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok, dzięki przeczytam
może się dowiem jak automatycznie przesłać dane w POST i zagłosować
mam jeszcze jedno pytanie, czy da się ukryć adres ip przy wchodzeniu na stronę z poziomu curl?

przeczytałem, zrobiłem ale nic ;/
wyświetla mi całą stronę zamiast przesłać dane i zagłosować
  1. <?
  2.  
  3. function createPostString($aPostFields) {
  4. foreach ($aPostFields as $key => $value) {
  5. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  6. }
  7. return implode('&', $aPostFields);
  8. }
  9.  
  10. $postFields['ocenaPomyslowosc'] = '10';
  11. $postFields['ocenaProfesjonalizm'] = '10';
  12. $postFields['ocenaJakosc'] = '10';
  13. $ch = curl_init('http://www.afrin.wp.pl/zdjecie/id,4291.html');
  14. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  15. curl_exec($ch);
  16. curl_close($ch);
  17.  
  18.  
  19. ?>
Go to the top of the page
+Quote Post
black.old.cat
post
Post #15





Grupa: Zarejestrowani
Postów: 37
Pomógł: 8
Dołączył: 8.11.2009

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


Zapomniales o przeslaniu event i formname.
Go to the top of the page
+Quote Post
Fifi209
post
Post #16





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


dodaj jeszcze:

CULROPT_RETURNTRANSFER - true
CURLOPT_FOLLOWLOCATION - true
CURLOPT_HEADER - true
CURLOPT_POST - true

wywal tą funkcję createPostString i po prostu przekaż tam tablicę...
Go to the top of the page
+Quote Post
Lejto
post
Post #17





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


nadal nic
  1. <?
  2. $postFields['ocenaPomyslowosc'] = '10';
  3. $postFields['ocenaProfesjonalizm'] = '10';
  4. $postFields['ocenaJakosc'] = '10';
  5. $ch = curl_init('http://www.afrin.wp.pl/zdjecie/id,4291.html');
  6. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  7.  
  8. curl_setopt($ch, CULROPT_RETURNTRANSFER, true);
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION , true);
  10. curl_setopt($ch, CURLOPT_HEADER, true);
  11. curl_setopt($ch, CURLOPT_POST , true);
  12.  
  13.  
  14. curl_exec($ch);
  15. curl_close($ch);
  16.  
  17. ?>
Go to the top of the page
+Quote Post
Fifi209
post
Post #18





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Lejto @ 21.11.2009, 13:49:28 ) *
nadal nic
  1. <?
  2. $postFields['ocenaPomyslowosc'] = '10';
  3. $postFields['ocenaProfesjonalizm'] = '10';
  4. $postFields['ocenaJakosc'] = '10';
  5. $ch = curl_init('http://www.afrin.wp.pl/zdjecie/id,4291.html');
  6. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  7.  
  8. curl_setopt($ch, CULROPT_RETURNTRANSFER, true);
  9. curl_setopt($ch, CURLOPT_FOLLOWLOCATION , true);
  10. curl_setopt($ch, CURLOPT_HEADER, true);
  11. curl_setopt($ch, CURLOPT_POST , true);
  12.  
  13.  
  14. curl_exec($ch);
  15. curl_close($ch);
  16.  
  17. ?>


Wynik curl_exec przypisz sobie do jakiejś zmiennej, którą potem sobie wyświetlisz.

Poza tym...
Cytat(black.old.cat @ 21.11.2009, 12:52:02 ) *
Zapomniales o przeslaniu event i formname.

Czytaj co kolega napisał.

Jeżeli dalej nie będzie działało dodaj:
CURLOPT_COOKIEJAR
CURLOPT_COOKIEFILE
Go to the top of the page
+Quote Post
Lejto
post
Post #19





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok ale z tym event i formname to jak mam to przesłać, nie mogę znaleźć tych funkcji w manualu
Go to the top of the page
+Quote Post
Fifi209
post
Post #20





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Lejto @ 21.11.2009, 14:00:47 ) *
ok ale z tym event i formname to jak mam to przesłać, nie mogę znaleźć tych funkcji w manualu


Tak samo jak inne pola w post, normalnie w tej tablicy post...

$postFields['event'] = 'wartosc';
Go to the top of the page
+Quote Post
Lejto
post
Post #21





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


aha to o to chodziło (IMG:style_emoticons/default/smile.gif)
niestety nic z tego ;/
  1. <?
  2. $cookie_file = "cookie.txt";
  3. $postFields['event'] = '1';
  4. $postFields['formname'] = 'oceny';
  5. $postFields['ocenaPomyslowosc'] = '10';
  6. $postFields['ocenaProfesjonalizm'] = '10';
  7. $postFields['ocenaJakosc'] = '10';
  8. $ch = curl_init('http://www.afrin.wp.pl/zdjecie/id,4291.html');
  9. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  10.  
  11. curl_setopt($ch, CULROPT_RETURNTRANSFER, true);
  12. curl_setopt($ch, CURLOPT_FOLLOWLOCATION , true);
  13. curl_setopt($ch, CURLOPT_HEADER, true);
  14. curl_setopt($ch, CURLOPT_POST , true);
  15. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
  16. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  17.  
  18. curl_exec($ch);
  19. curl_close($ch);
  20.  
  21. ?>
Go to the top of the page
+Quote Post
Fifi209
post
Post #22





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Pokombinuj...

CURLOPT_USERAGENT
CURLOPT_AUTOREFERER


W ogóle w jakim celu chcesz to napisać?
Go to the top of the page
+Quote Post
Lejto
post
Post #23





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok zobaczę
w jakim celu?
żeby się pobawić i w końcu dobrze nauczyć się korzystać z curl.

zrobiłem
mam tak i nie chodzi, nie wiem co jeszcze zmienić, nie znam tak dobrze curl
  1. <?
  2. $cookie_file = "cookie.txt";
  3. $postFields['event'] = '1';
  4. $postFields['formname'] = 'oceny';
  5. $postFields['ocenaPomyslowosc'] = '10';
  6. $postFields['ocenaProfesjonalizm'] = '10';
  7. $postFields['ocenaJakosc'] = '10';
  8. $ch = curl_init('http://www.afrin.wp.pl/zdjecie/id,4291.html');
  9. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  10.  
  11. curl_setopt($ch, CULROPT_RETURNTRANSFER, true);
  12. curl_setopt($ch, CURLOPT_FOLLOWLOCATION , true);
  13. curl_setopt($ch, CURLOPT_HEADER, true);
  14. curl_setopt($ch, CURLOPT_POST , true);
  15. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
  16. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
  17. curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  18. curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.13) Gecko/20080311 Firefox/3.5");
  19.  
  20. curl_exec($ch);
  21. curl_close($ch);
  22.  
  23. ?>


dodam że cookie nie zapisuje jeszcze
Go to the top of the page
+Quote Post
Fifi209
post
Post #24





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


zapisuje cookie, tylko musisz podać pełną ścieżkę np.

c:\webserv\httpd\cookie.txt
Go to the top of the page
+Quote Post
Lejto
post
Post #25





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok teraz zapisuje cookie ale i tak nie oddaje głosu ;/

co tu można jeszcze zmienić?
Go to the top of the page
+Quote Post
Fifi209
post
Post #26





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Lejto @ 22.11.2009, 10:56:38 ) *
ok teraz zapisuje cookie ale i tak nie oddaje głosu ;/

co tu można jeszcze zmienić?


Trochę inwencji własnej, live headers i poobserwuj dokładnie co się dzieje przy głosowaniu. Ja Ci dużo podpowiedziałem, ostatnia rada, spróbuj najpierw wywołać tą stronę z curlopt:
cookiejar, cookiefile, header, url

I potem drugi raz z tą resztą. (może potrzebuje zapisać sesję w cookie)
Go to the top of the page
+Quote Post
Lejto
post
Post #27





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


analizowałem nagłówki
przesyłam wszystko to co powinienem i nic...

cookie dobrze zapisuje
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www.afrin.wp.pl FALSE / FALSE 0 PHPSESSID s2ai3tok1hlbtectkcnviglcp2


header dodatkowy też przesyłam i nic

ok udało mi się (IMG:style_emoticons/default/smile.gif)
zmieniłem
  1. $ch = curl_init('http://www.afrin.wp.pl/zdjecie/id,4291.html');
  2. $pack = "event=1&formname=oceny&ocenaPomyslowosc=10&ocenaProfesjonalizm=10&ocenaJakosc=10";
  3. curl_setopt($ch, CURLOPT_POSTFIELDS, $pack);

można jakoś w curl ukryć ip?

chodzi mi teraz o anonimowość
czy można w php podać liste serweró proxy do których ma się łączyć?

ostatnie moje pytanie (IMG:style_emoticons/default/smile.gif)
co zrobić aby cała strona w html mi sie nie pokazywała
chce aby tylko wysyłało żądanie POST
Go to the top of the page
+Quote Post
aniolek1810
post
Post #28





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 23.12.2009

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


Cytat(fifi209 @ 21.11.2009, 14:48:02 ) *
W ogóle w jakim celu chcesz to napisać?


Haha, chce to napisać, żeby wygrać lustrzankę ; ) Jego zdjęcie aktualnie jest na trzecim miejscu ; )
I potem ludzie się dziwią, że normalną drogą nic nie mogą wygrać...
Go to the top of the page
+Quote Post
Fifi209
post
Post #29





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(morihei @ 23.11.2010, 11:24:48 ) *
Da się zrobić taki automacik do głosowania na tą klasę?

Odpowiedź jest pozytywna.
Cytat(morihei @ 23.11.2010, 11:24:48 ) *
Ja niestety za zielony jestem więc nawet nie próbuje

Nie ten dział.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 3.10.2025 - 04:01