Foros del Web » Programando para Internet » PHP »

Grave proble, necesito una mano

Estas en el tema de Grave proble, necesito una mano en el foro de PHP en Foros del Web. Tengo el siguiente codigo que lo que haces es buscar la url de imdb de una pelicula con la opcion Feeling Lucky de Google, pero ...
  #1 (permalink)  
Antiguo 12/06/2011, 19:31
Avatar de hackcrack  
Fecha de Ingreso: abril-2011
Mensajes: 331
Antigüedad: 13 años
Puntos: 9
Pregunta Grave proble, necesito una mano

Tengo el siguiente codigo que lo que haces es buscar la url de imdb de una pelicula con la opcion Feeling Lucky de Google, pero esta opcion se bloquea despues de pedir muchas peticiones y te pide que insertes un captcha para que funcione, entonces lo que hago es verificar si se bloqueo y que me devuelva la imagen y pongo un input para escribir el captcha, la imagen tiene un id unico. Entonces el numero de ID mas las letras del captcha consigo entrar a la url, el problema es que cuando verifico el form me actualiza la pagina y el captcha cambia, por lo que se vuelve obsoleto el anterior captcha, no hay una forma para que la parte donde muestra el captcha no se actualize, solo la del formulario para que no cambien los datos?

Código PHP:
<?php
function buscar($aQue) {
 
$url  "http://www.google.com/search?hl=en&q=imdb+".$aQue."&btnI=I%27m+Feeling+Lucky";
 
$html geturl($url);
 if(
stripos($html"302 Moved") !== false) {
 
$url match('/HREF="(.*?)"/ms'$html1);
// Comprueba bloqueo IP
if (eregi("sorry"$url)) {
 echo 
"Se bloqueo la ip!";
$str geturl($url);
$pos1=strpos($str,'<img');
$pos2=strpos($str,'>',$pos1);
$pos1=$pos1+10;
$pos2=$pos2-$pos1;
$imagen=substr($str$pos1$pos2);
$pos3=strpos($imagen,'id=');
$pos4=strpos($imagen,'&',$pos3);
$pos3=$pos3+3;
$pos4=$pos4-$pos3;
$id=substr($imagen$pos3$pos4);
$google="<img src=http://www.google.com";
echo 
$google.$imagen.'>';
$clave=$id;
form($clave$url$captcha);
}
}
}

function 
form($clave$url$captcha) {
if (!isset(
$_GET['tabla'])) {

echo 
"<form action='Buscador - Api Google.php' method='get'>
<input type='text' name='tabla'>
<input type='submit' name='Submit' value='Entrar' />"
;
}
 else
{
 
$captcha $_GET['tabla'];
 
$url "http://www.google.com/sorry/Captcha?continue=".$url."&id=".$clave."&captcha=".$captcha."&submit=Enviar"
echo 
$url;
} }

        function 
geturl($url)
        {
                
$ch curl_init();
                
curl_setopt($chCURLOPT_URL$url);
                
curl_setopt($chCURLOPT_RETURNTRANSFER1);
                
curl_setopt($chCURLOPT_CONNECTTIMEOUT5);
                
$html curl_exec($ch);
                
curl_close($ch);
                return 
$html;
        }
buscar("thor");
?>

Etiquetas: mano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:51.