Simular Navegador con cURL PHP

  • Autor Autor zcriptz
  • Fecha de inicio Fecha de inicio
zcriptz

zcriptz

1
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
Suscripción a IA
PHP:
function cURL($url, $posts, $cookies, $referer, $proxy){
	$headers = array (
		'Accept-Language: en-US;q=0.6,en;q=0.4',
	);

	$tiempo = time();

	$agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; es-MX; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13";

	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($ch, CURLOPT_HEADER, 1);
	curl_setopt($ch, CURLOPT_USERAGENT, $agent);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_REFERER, $referer);
	curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
	curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
	curl_setopt($ch, CURLOPT_TIMEOUT, 5);
	if($proxy){
		if(stristr($proxy, '@')){
			$datosproxy = explode('@', $proxy);
			curl_setopt($ch, CURLOPT_PROXY, $datosproxy[1]);
			curl_setopt($ch, CURLOPT_PROXYUSERPWD, $datosproxy[0]);
			//echo $datosproxy[0];
		}else{
			curl_setopt($ch, CURLOPT_PROXY, $proxy);
		}
	}
	if($posts){
		curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $posts);
	}
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$page = curl_exec($ch);
	curl_close($ch);

	if($page){
		return $page;
	}
	return 'Forbidden';
}

Ejemplo de uso:
PHP:
$referer = 'http://www.google.com';
$cookies = 'cookies.txt';
echo cURL('http://www.forobeta.com', '', $cookies, $referer, '');

Podemos enviar datos "POST" colocandolos en el segundo argumento como una query de GET.

Ejemplo: valor1=algo&valor2=cosa

O también como arrays.

___

También podemos colocar donde se guardarán las cookies, como se puede ver en el ejemplo de arriba y referer.

____

Y por último, en el último argumento podemos colocar un proxy. Ejemplo: 192.168.1.1:80 (Esto no es un proxy real)
 
Última edición:
Esta muy bien variedad para que el usuario elija la simulación es un buen aporte la verdad. Y decir que a muchos les gusta el complicarse la vida ya que asi se esfuerzan en hacerlo bien y no depender de otros sitios.😛8:
 
Que tiene que ver un scrapper parseador con un cURL ?

Saludos!!
 
[MENTION=42233]zcriptz[/MENTION] siento revivir este tema tan viejo pero hasta la fecha no se a compartido un curl tan completo para simular navegador
y quería preguntarte si esto funciona con paginas como esta.
PHP:
http://kissasian.com/
por que no e logrado que me funcione. gracias 😉
 
[MENTION=42233]zcriptz[/MENTION] siento revivir este tema tan viejo pero hasta la fecha no se a compartido un curl tan completo para simular navegador
y quería preguntarte si esto funciona con paginas como esta.
PHP:
http://kissasian.com/
por que no e logrado que me funcione. gracias 😉
Efectivamente, con esa web no funciona por que usa una especie de cloudflare para proteger el sitio.
 
Efectivamente, con esa web no funciona por que usa una especie de cloudflare para proteger el sitio.

hay alguna forma de vencer esa protección?
yo intente agregar las cookies que crea pero como también hace una redireccion javascript por cloudflare no lo logre,
por hay escuche que esa protección no se activa con las ip de googlebot por que si no google no podría indexar el sitio, y también escuche que hay una ip de google bot que se puede usar como proxy desde curl pero e buscado por todos lados y no encuentro nada al respecto no se si sea mentira ;(
 
hay alguna forma de vencer esa protección?
yo intente agregar las cookies que crea pero como también hace una redireccion javascript por cloudflare no lo logre,
por hay escuche que esa protección no se activa con las ip de googlebot por que si no google no podría indexar el sitio, y también escuche que hay una ip de google bot que se puede usar como proxy desde curl pero e buscado por todos lados y no encuentro nada al respecto no se si sea mentira ;(
Que yo sepa si no eres el dueño de la web no se puede, no se si quizas con phantomjs...
Pero igual algún experto en la materia conoce algun método 😀
 
Que yo sepa si no eres el dueño de la web no se puede, no se si quizas con phantomjs...
Pero igual algún experto en la materia conoce algun método 😀

pues yo con slimerjs que la competencia de phantomjs logro recoger el html pero el problema es que con cada sesión lo hace esperar los 5sg del bendito re-direccionamiento de cloudflare, ademas de que para poder ejecutarlo necesito de un vps y por el momento tengo problemas por que mi tarjeta payoneer se me venció y estoy esperando a que me llegue una nueva así que todo mi dinero esta congelado.

ademas de que es mucho mas lento y complicado por eso quiero lograrlo en php
 
[MENTION=35077]xaiborweb[/MENTION] [MENTION=81006]kanikase[/MENTION] Que quiere decir este tema con simular navegado.??
se puede entrar a facebook con curl logueado ??
 
[MENTION=35077]xaiborweb[/MENTION] [MENTION=81006]kanikase[/MENTION] Que quiere decir este tema con simular navegado.??
se puede entrar a facebook con curl logueado ??
El tema es de zcriptz... XD

Sí se puede, para eso la cookie

Enviado desde mi XT1097 mediante Tapatalk
 
El tema es de zcriptz... XD

Sí se puede, para eso la cookie

Enviado desde mi XT1097 mediante Tapatalk

Ok... pero la cookie tengo que subirla yo mismo? no puede ser de un usuario que visite mi pagina ??
 
Ok... pero la cookie tengo que subirla yo mismo? no puede ser de un usuario que visite mi pagina ??
La cookie la crea Facebook al iniciar sesión... Debes crear un formulario para iniciar sesión en Facebook... También puedes descargar tu cookie en formato netscape y luego subirla al servidor donde tengas el script.

Enviado desde mi XT1097 mediante Tapatalk
 
La cookie la crea Facebook al iniciar sesión... Debes crear un formulario para iniciar sesión en Facebook... También puedes descargar tu cookie en formato netscape y luego subirla al servidor donde tengas el script.

Enviado desde mi XT1097 mediante Tapatalk

Ok entiendo... creia que desde que el usuario entrar estaria logueando! :sorrow: :encouragement:
 
Atrás
Arriba