Tester compte Xbox / Récupérer iframe
Résolu
jiantox
Messages postés
1092
Date d'inscription
Statut
Membre
Dernière intervention
-
jiantox Messages postés 1092 Date d'inscription Statut Membre Dernière intervention -
jiantox Messages postés 1092 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaie de développer un système permettant de tester l'existence d'un compte Xbox.
J'ai fais un script pour tester l'existence d'un compte PSN et ça a été beaucoup plus simple : Chez sony, il crée une image contenant les infos du compte. On a juste donc à tester si l'image existe.
Chez microsoft ils utilisent des iframes, et que le compte existe ou pas, l'iframe existe elle.
J'ai en revanche remarqué que si le compte existe la div id="Gamerscore" est à 0 ou plus alors que s'il n'existe pas elle est à "--". C'est donc sur ce point que je voudrais faire ma vérification.
Actuellement j'affiche les iframes directement avec ceci :
<iframe src="https://gamercard.xbox.com/fr-FR/'.$v['xbox'].'.card" >[...]</iframe>
On vois donc lorsqu'on se rend et qu'on examine cette page, que son score est à 0 (le compte existe) :
https://gamercard.xbox.com/fr-FR/trucmachin.card
En revanche celui-ci c'est "--" : https://gamercard.xbox.com/fr-FR/zerzdfzefzef.card il n'existe pas.
Comment faire pour aller, en php, récupérer le contenu de la div "Gamerscore" de cette page et le tester, avant d'afficher ou non l'iframe ?
En esperant avoir été assez clair :D Merci d'avance !
j'essaie de développer un système permettant de tester l'existence d'un compte Xbox.
J'ai fais un script pour tester l'existence d'un compte PSN et ça a été beaucoup plus simple : Chez sony, il crée une image contenant les infos du compte. On a juste donc à tester si l'image existe.
Chez microsoft ils utilisent des iframes, et que le compte existe ou pas, l'iframe existe elle.
J'ai en revanche remarqué que si le compte existe la div id="Gamerscore" est à 0 ou plus alors que s'il n'existe pas elle est à "--". C'est donc sur ce point que je voudrais faire ma vérification.
Actuellement j'affiche les iframes directement avec ceci :
<iframe src="https://gamercard.xbox.com/fr-FR/'.$v['xbox'].'.card" >[...]</iframe>
On vois donc lorsqu'on se rend et qu'on examine cette page, que son score est à 0 (le compte existe) :
https://gamercard.xbox.com/fr-FR/trucmachin.card
En revanche celui-ci c'est "--" : https://gamercard.xbox.com/fr-FR/zerzdfzefzef.card il n'existe pas.
Comment faire pour aller, en php, récupérer le contenu de la div "Gamerscore" de cette page et le tester, avant d'afficher ou non l'iframe ?
En esperant avoir été assez clair :D Merci d'avance !
A voir également:
- Tester compte Xbox / Récupérer iframe
- Flash drive tester - Télécharger - Divers Utilitaires
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
- Recuperer message whatsapp supprimé - Guide
5 réponses
Salut,
Un début d'idée avec DOMDocument :
Bonne journée,
Un début d'idée avec DOMDocument :
$doc = new DOMDocument(); $doc->loadHTML(file_get_contents('https://gamercard.xbox.com/fr-FR/zerzdfzefzef.card')); $elementGamerscore = $doc->getElementById('Gamerscore'); if ($elementGamerscore) { echo $elementGamerscore->nodeValue; }
Bonne journée,
Tu as juste à récupérer la page donner par l'iframe avec curl, puis tu fais du DOM Parsing avec DOMDocument pour récupérer le contenu de la div avec l'id Gamerscore pour récupérer le score et voir si c'est un nombre avec is_numeric.
Tu obtiens un truc comme ça:
Tu obtiens un truc comme ça:
<?php $user = "trucmachin"; // Existe $user = "sdqsdqsdqjnsqdkjsd"; // N'existe pas $content = get_web_page("https://gamercard.xbox.com/fr-FR/$user.card")['content']; $dom = new DomDocument(); @$dom->loadHTML($content); $gamerscore = $dom->getElementById("Gamerscore"); var_dump(is_numeric($gamerscore->nodeValue)); function get_web_page( $url ) { $options = array( CURLOPT_RETURNTRANSFER => true, // Retourne la page CURLOPT_HEADER => false, // Ne retourne pas l'en-tête CURLOPT_FOLLOWLOCATION => true, // Suis les redirection CURLOPT_ENCODING => "", // Encodage CURLOPT_USERAGENT => "spider", // Qui sui-je CURLOPT_AUTOREFERER => true, // Mettre un "referer" CURLOPT_CONNECTTIMEOUT => 120, // Temps pour déconnexion CURLOPT_TIMEOUT => 120, // Temps max pour la réponse CURLOPT_MAXREDIRS => 10, // Stop après 10 redirections CURLOPT_SSL_VERIFYPEER => false, // Ne vérifie pas le SSL ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
je viens de mettre en place le petit script de Pitet (avec un http au lieu du https) et ça marche parfaitement !
Merci beaucoup !
je viens de mettre en place le petit script de Pitet (avec un http au lieu du https) et ça marche parfaitement !
$doc = new DOMDocument(); $doc->loadHTML(file_get_contents('http://gamercard.xbox.com/fr-FR/'.$_POST['xbox'].'.card')); $elementGamerscore = $doc->getElementById('Gamerscore'); if ($elementGamerscore) { $score = $elementGamerscore->nodeValue; if ($score == '--') { // message d'erreur } else { // validation } }
Merci beaucoup !