Código PHP para cambiar proxy cada 4 minutos

  • Autor Autor vaonline
  • Fecha de inicio Fecha de inicio
V

vaonline

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola.
Estoy buscando un código php que refresque un proxy nuevo cada 4 minutos (240 segundos), teniendo como objetivo una página, aqui he puesto de ejemplo a google.

Por lo pronto tengo lo siguiente, pero no lo tengo nada claro:

PHP:
foreach ($proxys as $proxy) {
        $requestWithProxy = "http://www.google.com"
$proxys = array( 
'1.1.1'
'2.2.2'
'3.3.3'
);
 
$proxy = $proxys[1]; // sacamos el 2do proxy
$requestPageRank = "http://www.ifreewebtools.com/multipagerank_checker?domains=" . $str_all_links;

PD: algunas cosas las he sacado del google xD

Agradeceria su ayuda.
Gracias
 
estoy buscando el cron pero no hayo resultados concretos, haber si me puedes pasar un link porfavor
 
CRON se refiere al CRON de linux no un codigo ni nada. Si tienes cPanel, hay una seccion para agregar los cron, le pones que se ejecute cada 4 minutos, tu solo desde el php cambia el proxy.
 
Ok, lo entiendo como 'Scheduled Job' en netfirms, ya le he puesto pero ¿Osea que no sería necesario tener la página que he indicado en el Scheduled Job abierta en mi navegador?
Pero ahora, como hago para que con PHP haya un proxy random cada vez que se refresque la página?

Gracias por sus respuestas.
 
PHP:
<?php
 $PROXY[] = '127.0.0.1:88888';
 $PROXY[] = '134.244.212.321:1234';
 $PROXY[] = '127.0.0.1:88881';
 $PROXY[] = '127.0.0.1:88882';
 $PROXY[] = '127.0.0.1:88883';
 $PROXY[] = '127.0.0.1:88884';
 $CUAL = mt_rand(0,count($PROXY));
 $SELECCIONADO = $PROXY[$CUAL];
?>

solo pasa la variable seleccionado a la funcion que lee la web (curl, etc)
 
solo pasa la variable seleccionado a la funcion que lee la web (curl, etc)

Soy alguien casi totalmente nuevo en php y no entiendo muy bien las funciones curl... he estado buscando pero no sé cuál sería la apropiada para esta simple función...
Además me está marcando 500 internal server error... son como en total 400 proxys, los he puesto de la misma manera en que me has indicado (claro con etiquetas <?php y ?>:

PHP:
$PROXY[] = '91.144.44.67:80';
$PROXY[] = '109.123.105.119:3128';
$PROXY[] = '89.234.195.145:80';
$PROXY[] = 'corp-200-105-245-237-uio.punto.net.ec:3129';
$PROXY[] = '200.174.172.148:3128';
$PROXY[] = '119.235.16.41:8080';
$PROXY[] = 'ser.bpro.19522235-110.bih.net.ba:3128';
$PROXY[] = '202.143.144.126:80';
$PROXY[] = '208.49.101.67:80';
$PROXY[] = 'a109.sub39.net78.udm.net:3128';
$PROXY[] = '80.78.68.7:8081';
$PROXY[] = '088156071247.pila.vectranet.pl:8080';
$PROXY[] = '5.39.37.139:808';
$CUAL = mt_rand(0,count($PROXY));
$CURL = $PROXY[$CUAL];

Perdone usted tanta pregunta y de nuevo gracias por su ayuda...
 
Última edición:
Creo que hay que mezclar un poco más de cosas para que no se cargue tanto el script y te termine consumiendo más recursos de los que quieres

¿Quieres que el proxy cambie para cada visitante o que se ejecute solo? Si quieres que se ejecute solo pues el cron te ayuda, si quieres visitar la web tambien te ayuda cURL, pero, creo que crear un array con todos los campos ahí vas mal.

Además te falto especificar si el proxy se utilizará solo una vez o más de una.
 
Estoy buscando que se ejecute solo, refrescándose cada 6 minutos con el cron, y dado a esto cada proxy se utilizaría posiblemente más de una vez (aunque se escogería un proxy al azar). He estado buscando la manera de hacerlo pero no encuentro resultados, a decir verdad no le hallo nada al PHP... cualquier ayuda es bienvenida
 
No tengo problema con el panel de control si no con el .php, lo que me han dado no me imprime ninguna página web conectado al proxy y no sé como realizar esto, perdonar mi ignorancia.
 
Considero que primero debes comprobar que exista conexión con dicho proxy, y trabajar los proxys no como array sino en base de datos. Ahora bien, dependiendo el uso que quieras darle puedes o no usar cURL, pero deberias especificar más para ayudarte más concretamente.
 
Ya les he preguntado pero no me han respondido.
Probando el siguiente código para obtener un proxy al azar de una lista .txt y así conectar con ese proxy a una web:

PHP:
<?php
$url = 'http://www.peliculadicto.com/ip.php';

$proxy_url = 'http://www.peliculadicto.com/proxys.txt';

function RandomLine($filename) { 
    $lines = file($filename) ; 
    return $lines[array_rand($lines)] ; 
} 

$random_proxy = RandomLine($proxy_url); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_PROXY, $random_proxy); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
$data = curl_exec($ch); 
curl_close($ch); 
echo $data;

?>

Pero obtengo el siguiente error:

Insertar CODE, HTML o PHP:
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/u282145890/public_html/beer.php on line 18

Creo que voy a un paso de lograrlo pero este error no me lo permite...
Ya he preguntado al hosting también de esto.
Agradeceria ayuda.
 
En los servidores con safe mode on la funcion FOLLOWLOCATION no funciona tienes que ponerla a cero

curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
 
Atrás
Arriba