Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2012, 08:36
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 14 años, 6 meses
Puntos: 58
Problema usando curl, iniciar sesion y busqueda

Necesito iniciar sesión en un servidor, luego de esto quiero hacer una búsqueda y meter los datos como string en una variable o algo similar, para sacar la información que quiero.

El problema es que una vez iniciada la sesión no se como cambiar de URL con curl. Y si vuelvo a cerrar y abrir el curl se me pierde la sesión claro.

Así es como logueo:
Código PHP:
/* VARIABLES */
$usuario = "elusuario";
$password = "lacontra";
$marca = "nombreMarca";
$medidas = "ejemploDeMedidas";

$cookie_file_path = "c:/cookiefile";
$LOGINURL = "http://www.laweb.es/user/login/";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$POSTFIELDS = 'userid=elusuario&password=lacontra'; //nombre de los campos POST
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$LOGINURL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$page = curl_exec ($ch);
curl_close ($ch);
echo 
$page;
//curl_setopt($ch, CURLOPT_URL, "http://www.laweb.es/profi?search=$medidas&search2=$marca?ymuchosmasparametros");
?> 
Así es como me funciona "a veces" y claramente está mal, pero no se realmente como debería ser, no acabo de entender del todo como funciona.

Código PHP:
/* VARIABLES */
$usuario = "elusuario";
$password = "lacontra";
$marca = "nombreMarca";
$medidas = "ejemploDeMedidas";

$cookie_file_path = "c:/cookiefile";
$LOGINURL = "http://www.laweb.es/user/login/";
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$POSTFIELDS = 'userid=elusuario&password=lacontra'; //nombre de los campos POST
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$LOGINURL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$page = curl_exec ($ch);
curl_setopt($ch, CURLOPT_URL, "http://www.laweb.es/profi?search=$medidas&search2=$marca?ymuchosmasparametros");
$page = curl_exec ($ch);
curl_close ($ch);
echo 
$page;
?> 
Pero claro, así vuelvo a pasar todos los parámetros a la otra URL no se si es muy correcto.

Cualquier ayuda será muy agradecida.

Y aparte de eso, ¿qué debería usar para localizar un texto que esté dentro de una etiqueta <br> que a su vez esté dentro de un <div> con id "pepe"? No encuentro nada que me sirva. ¿Tal vez strpos?

Última edición por alyciashape; 26/07/2012 a las 09:36