hola a todos tengo un pequeño script hecho en php, utilizo la funcion curl para iniciar sesion en otra web y guardar la cookie por si tengo que gestionar algo.
el script en si funciona bien, pero tengo un problena con las llaves aleatorios de los formularios que estan el los input hidden.
he intentado extraerlo con domdocument y con file_get_contents() pero cambia cada vez que quiero insertar los datos y no me lo hace bien.
dejo la funcion por si ven algo o me pueden indicar un poco.
Código PHP:
function login_misitio($username, $password)
{
$login_url = 'http://www.misitio.com/account';
$cookie = "cookie.txt";
$contents = file_get_contents($login_url);
@$dom = new DOMDocument();
@$dom->loadHTML($contents);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//input[@name="_csrf_token"]');
foreach ($tags as $tag) {
$return_token = (trim($tag->getAttribute('value')));
}
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $login_url);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, array('username' => $username, 'password' => $password, 'remember_me' => '1', '_csrf_token' => $return_token));
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); //saved cookies
$result = curl_exec ($ch);
print_r($result); // output?
curl_close($ch);
}
espero que me puedan ayudar
gracias de antemano