Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wchodzenie na strone przez proxy
Forum PHP.pl > Forum > PHP
emlus
Witam,
Szukałem kodu aby wchodziło mi na stronę za każdym razem z innego proxy i znalazłem w internecie taki oto kod

  1. <?php
  2. //Adres na który mamy wejść
  3. $adres = "http://jakas strona.pl";
  4.  
  5. // Plik z proxy
  6. $proxy = file('proxy.txt');
  7.  
  8. // Liczymy adresy proxy z pliku
  9. $ile = count($file);
  10.  
  11. // Tworzymy pętle (wejdziemy na stronę tyle razy ile jest adresów proxy w pliku)
  12. for ($i = 0; $i < $proxy; $i++) {
  13.  
  14. // Wchodzimy na stronę z adresu proxy
  15. $curl=curl_init("$adres");
  16. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  17. curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  18. curl_setopt($curl, CURLPROXY_HTTP, "http://$proxy[$i]");
  19. $wynik=curl_exec($curl);
  20.  
  21. // Parsujemy linki znajdujące się na stronie
  22. preg_match_all('[href=\"(.+?)\"]is',$wynik,$kliklink);
  23. $link=$kliklink[1];
  24.  
  25. // Liczymy linki znajdujące się na stronie
  26. $ilelink=count($link);
  27.  
  28. // Losujemy link
  29. $jakilink=rand(1,$ilelink);
  30.  
  31. // Wchodzimy na wylosowany link z losowego adresu proxy
  32. $curllink=curl_init("$link[$jakilink]");
  33. curl_setopt($curllink, CURLOPT_RETURNTRANSFER, 1);
  34. curl_setopt($curllink, CURLOPT_TIMEOUT, 10);
  35. curl_setopt($curllink, CURLPROXY_HTTP, "http://$proxy[$i]");
  36. curl_exec($curllink);
  37.  
  38. echo"<br><b>Kliknięto w:</b> $link[$jakilink] <b>z proxy:</b> $proxy[$i]";
  39. }
  40. ?>


Ale kiedy on nie działa. ;/

Pozdrawiam.
muk4
  1. // Plik z proxy
  2. $proxy = file('proxy.txt');
  3.  
  4. // Liczymy adresy proxy z pliku
  5. $ile = count($file);
  6.  
  7. // Tworzymy pętle (wejdziemy na stronę tyle razy ile jest adresów proxy w pliku)
  8. for ($i = 0; $i < $proxy; $i++) {


file() zwraca tablicę.
Więc warunek w pętli nie może być:
  1. $i < $proxy

ale raczej:
  1. $i < $ile


BTW. Co znaczy nie działa ?
emlus
Nie wchodzi na strona w ogóle.
Tzn. jak ten kod ma wyglądać?
muk4
Zamiast:
  1. for ($i = 0; $i < $proxy; $i++) {

spróbuj:
  1. for ($i = 0; $i < $ile; $i++) {
emlus
przedtem to cały czas czytało a teraz od razu wyskakuje biała strona
dalej nie działa ;/

  1. echo"<br><b>Kliknięto w:</b> $link[$jakilink] <b>z proxy:</b> $proxy[$i]";

To powinno wyskakiwać ile razy weszło na strone? Bo nic nie pokazuje.
muk4
A masz bibliotekę cURL wogóle?

Odpal to:
  1. <?
  2. $ver = curl_version();
  3. echo $ver['version'];
  4. ?>
emlus
Wziąłem na innym hostingu i klika tylko nie w ten link co ja chce tylko w jakieś inne ;/

Wpisze np. www.wp.pl

to wyskakuje
Kod
Kliknięto w: http://mundial.wp.pl/title,Dunga-nie-bedzie-juz-trenerem-Brazylii,wid,12439460,wiadomosc.html z proxy: 128.223.8.112:3128
Kliknięto w: http://ulubiency.wp.pl z proxy: 128.232.103.201:3124
Kliknięto w: http://aukcjewp.wp.pl/listing.php/search?category=19536&string=r%C4%99kawki&change_view=1 z proxy: 200.171.232.140:6588
Kliknięto w: http://www.szperus.pl z proxy: 129.82.12.187:3127
Kliknięto w: http://tanio.pl/przejscie.html?pid=49121714&orgurl=http%3A%2F%2Fsklepmartes.pl%2Fproducer%2Fchoose%2Fid%2F16%2Fcategory%2Fkurtki z proxy: 200.171.17.23:6588
Kliknięto w: http://wybory.wp.pl z proxy: 128.208.4.197:3124
Kliknięto w: http://katalog.wp.pl/sport/ z proxy: 129.82.12.187:3127
Kliknięto w: http://corto.www.wp.pl/as/sport030710.html z proxy: 128.238.88.65:3127
Kliknięto w: http://wiadomosci.wp.pl z proxy: 140.247.60.126:3124
Kliknięto w: z proxy: 128.238.88.65:3124
Kliknięto w: http://wp.tv z proxy: 128.220.231.03:3124
Kliknięto w: http://sport.wp.pl/kat,116154,title,Inauguracja-kampanii-PGNiG-Bezpiecznie-nad-woda,wid,12413988,wiadomosc.html z proxy: 132.252.152.194:3128
Kliknięto w: http://bramkasms.wp.pl/bramkasms.html z proxy: 128.112.139.80:3124
muk4
Przecież działa:
-wchodzi na www.wp.pl
-pobiera wszystkie linki jakie są na stronie
-losuje jeden z linków
-wchodzi na ten adres przez wylosowaną bramkę proxy
-wysyła na wyjście gdzie wszedł przez jaką bramkę.

A ty czego oczekiwałeś?
emlus
Chciałem żeby wchodził na stronę jaką ja podam i za każdym razem z innego proxy.
muk4
  1. <?php
  2. $adres = "http://wp.pl"; // Adres na który mamy wejść
  3. $proxy = file('proxy.txt'); // Plik z proxy
  4. $ile = count($file); // Liczymy adresy proxy z pliku
  5. $rand_proxy = rand(0,$ile); //Wybieramy jakiś adres proxy
  6.  
  7. // Wchodzimy na stronę z adresu proxy
  8. $curl=curl_init("$adres");
  9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  11. curl_setopt($curl, CURLPROXY_HTTP, "http://$proxy[$rand_proxy]");
  12. $wynik=curl_exec($curl);
  13.  
  14. echo"<br><b>Kliknięto w:</b> $adres <b>z proxy:</b> $proxy[$rand_proxy]";
  15. ?>

Masz tu gotowe, bo temperatura rośnie...
emlus
eh.. dalej cos nie chodzi klika raz i bierze pierwsze z gróry proxy a w pliku mam trochę proxy.

Kod
Kliknięto w: www.wp.pl z proxy: 128.223.8.112:3128

muk4
Zbugowałem skrypt. Tu naprawiony:
  1. <?php
  2. $adres = "http://wp.pl"; // Adres na który mamy wejść
  3. $proxy = file('proxy.txt'); // Plik z proxy
  4. $ile = count($proxy); // Liczymy adresy proxy z pliku
  5. $rand_proxy = rand(0,$ile); //Wybieramy jakiś adres proxy
  6.  
  7. // Wchodzimy na stronę z adresu proxy
  8. $curl=curl_init("$adres");
  9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  11. curl_setopt($curl, CURLPROXY_HTTP, "http://$proxy[$rand_proxy]");
  12. $wynik=curl_exec($curl);
  13.  
  14. echo"<br><b>Kliknięto w:</b> $adres <b>z proxy:</b> $proxy[$rand_proxy]";
  15. ?>


BTW. Problem był tak banalny, że minimum wysiłku włożonego w próbę zrozumienia kodu powinno załatwić sprawę.
emlus
Dzieki, teraz zauważyłem ;/
działa tylko ze muszę odświeżać stronę zeby wchodziło przez inne proxy bo teraz tylko po 1 razie klika.

Kod
Kliknięto w: http://wp.pl z proxy: 192.33.90.66:3127


A nie tak jak przedtem że cały czas klikało do puki nie zatrzymałem.
amii
No to wsadź to w pętle wtedy Ci wykona tyle ile chcesz
emlus
no ale w którym miejscu? co wkleje to jest jakiś błąd ;/
muk4
To ile razy ma "klikać" - nie sprecyzowałeś tego wcześniej...
amii
  1. <?php
  2. $adres = "http://wp.pl"; // Adres na który mamy wejść
  3.  
  4. $proxy = file('proxy.txt'); // Plik z proxy
  5. $ile = count($proxy); // Liczymy adresy proxy z pliku
  6.  
  7. for ($i=0; $i<$ile; $i++) { //petla dla wszystkich adresow proxy
  8. $rand_proxy = rand(0,$ile); //Wybieramy jakiś adres proxy
  9.  
  10. // Wchodzimy na stronę z adresu proxy
  11. $curl=curl_init("$adres");
  12. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  13. curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  14. curl_setopt($curl, CURLPROXY_HTTP, "http://$proxy[$rand_proxy]");
  15. $wynik=curl_exec($curl);
  16. curl_close($curl);
  17.  
  18. echo"<br><b>Kliknięto w:</b> $adres <b>z proxy:</b> $proxy[$rand_proxy]";
  19. }
  20.  
  21. ?>
emlus
Dzięki za pomoc, teraz działa. rolleyes.gif
Pozdrawiam.

Ale jednak nie dziala, nie wchodzi na strone ;/
Pisze że klikło a nie wchodzi.
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.