R"cupérer le contenu d'une page via l'utilisateur

Mammouth du PHP | 693 Messages

28 févr. 2007, 13:10

Bonjour,

J'aimerai savoir comment demander au navigateur du visiteur de récupérer le contenu d'une page et de l'envoyer sous forme de variable pour qu'elle sois traité par un script PHP.

En temps normal, les fonctions fopen et fgets suffisent car le serveur peut directement accéder au contenu de la page.

En revanche, ce n'est pas le cas quand la page a un accès restreind, ou il faut s'identifier (autrement que par autentification HTTP)

Une solution serait de connecter directement le serveur sur le site, mais ca me semble plus compliqué que de demander à l'utilisateur d'envoyer le contenu...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

28 févr. 2007, 13:12

Ce que tu demande n'est pas possible pour des raisons assez logique de sécurité.
En revanche, il est possible de simuler l'authentification sur un site en PHP via cURL:
http://fr.php.net/curl
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 693 Messages

28 févr. 2007, 13:39

Sans vouloir te contredire, c'est possible, si l'utilisateur accepte de partager ses données.

Mais soit. Je vais me plonger la dedans...

Ou puis je trouver à quoi correspondent toutes les constantes ?

ViPHP
ViPHP | 3607 Messages

28 févr. 2007, 14:30


Mammouth du PHP | 693 Messages

28 févr. 2007, 15:34

Merci beaucoup.

Mammouth du PHP | 693 Messages

28 févr. 2007, 17:47

J'ai un problème avec mon script...
//Création de la session
$curlId = curl_init("www.site.com");

curl_setopt($curlId, CURLOPT_COOKIESESSION, TRUE); //Autorisation d'utiliser les cookies de sessions
curl_setopt($curlId,CURLOPT_COOKIEJAR, "cookie.txt"); // Stockage des cookies dans cookies.txt
curl_setopt($curlId, CURLOPT_RETURNTRANSFER, 1); //Un retour du transfert

//Envoie du POST
curl_setopt($curlId, CURLOPT_POST, TRUE); //On prépare le POST
$post = "login=$login".
        "&password=$password";
curl_setopt($curlId, CURLOPT_POSTFIELDS, $post); //On envoie le POST

curl_exec($curlId); //On exécute la session

curl_setopt($curlId, CURLOPT_URL, "page.php" ); //On va sur la page où il y a les données
curl_setopt($curlId,CURLOPT_COOKIEFILE, "cookie.txt"); // Indique le lieu des cookies
//On execute la session que l'on met dans un variable
$contenu = curl_exec($curlId);

//On Ferme la session
curl_close($curlId);
//on affiche le contenue
print($contenu);
Mais le contenu est comme si il n'y a pas de connexion. Pourtant le cookie est stocké
.

Mammouth du PHP | 693 Messages

01 mars 2007, 16:18

Personne n'a d'idée ?