<?php
$email = "";
$password = "";
function searchstring($string_to_search,$string_start,$string_end)
{
if (strpos($string_to_search,$string_start)===false)
return false;
if (strpos($string_to_search,$string_end)===false)
return false;
$start=strpos($string_to_search,$string_start)+strlen($string_start);$end=strpos($string_to_search,$string_end,$start);
$return=substr($string_to_search,$start,$end-$start);
return $return;
}
//curl get
function curl_get($ch, $url, $cookiefile) {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($ch);
return $data;
}
//curl post
function curl_post($ch, $url, $cookiefile, $post) {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec($ch);
return $data;
}
//cookie file
$cookiefile = "cookie.txt";
$ch = curl_init();
//get url to grab GALX to login
$data = curl_get($ch, "https://www.google.com/accounts/ServiceLogin?uilel=3&service=youtube&passive=true&continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26nomobiletemp%3D1%26hl%3Den_US%26next%3D%252Findex&hl=en_US<mpl=sso", $cookiefile);
//grab galx token needed to login
preg_match('/name="GALX"\s*value="(.*?)"/', $data, $galx);
//login
$thegalx = $galx[1];
$post_elements=array('ltmpl'=>'sso',
'continue'=>'http://www.youtube.com/signin?action_handle_signin=true&nomobiletemp=1&hl=en_US&next=%2Findex',
'next'=>'/',
'service'=>'youtube',
'uilel'=>3,
'ltmpl'=>'sso',
'hl'=>'en_US',
'ltmpl'=>'sso',
'GALX'=>$thegalx,
'Email'=>$email,
'Passwd'=>$password,
'PersistentCookie'=>'yes',
'rmShown'=>1,
'signIn'=>'Sign in',
'asts'=>false,
);
$login = curl_post($ch, "https://www.google.com/accounts/ServiceLoginAuth", $cookiefile, $post_elements);
//auth url
$data = curl_get($ch, "https://www.google.com/accounts/CheckCookie?continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26nomobiletemp%3D1%26hl%3Den_US%26next%3D%252Findex&hl=en_US&service=youtube<mpl=sso&chtml=LoginDoneHtml", $cookiefile);
//grab auth url
$authurl=html_entity_decode(urldecode(str_replace('\x', '%', searchstring($data,'location.replace("','"'))));
//print_r($authurl);
//hit auth url to login
curl_get($ch, $authurl, $cookiefile);
//$ch = curl_init();
//$data = curl_get($ch, "http://www.youtube.com/watch?v=VBqVfmWM1og", $cookiefile);
//print $data;
//doesnt work
// youtube
$datayoutube = curl_get($ch, "http://www.youtube.com/", $cookiefile);
print_r($datayoutube);
curl_close($ch);
?>
Salut,ayant quelques problèmes avec boucle
Je suis capable de se connecter avec succès sur YouTube en saisissant la valeur galX. Lorsque j'imprime le contenu de http://youtube.com qui se trouve en bas du code, cela s'affiche très bien et cela montre que je suis connecté .. mais si je devais imprimer le contenu d'une URL vidéo (commentée ci-dessous dans le code) la page est juste vide et blanche .. cela me rend fou, quelqu'un sait pourquoi cela se produit?
Le rapport d'erreurs est-il activé? –
Si la question est triée, vous pouvez utiliser le lien de suppression vers le bas. –
ok, suis-je le seul qui a vu ce poste se transformer en 'oooo ok okfiewrjtoeij'? – JohnP