Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: MrLeWeb13 le le 20-09-2013 a 14:42:22

Titre: [RESOLU] PHP Curl
Posté par: MrLeWeb13 le le 20-09-2013 a 14:42:22

Bonjour à tous,

Tout d'abord, je voulais féliciter le forum, je l'ai découvert par hasard (Y) il a l'air très complet!

Je me décide donc à vous poser mon petit problème ( dont ça fait deux jours que j'y suis dessus ), j'espère que je trouverais ma solution...

Voilà, je fais un petit script en PHP curl afin de me connecter automatiquement à un site et de pouvoir créer un article également.
Le script réussis avec succès à se connecter, mais ne réussit pas à créer un article (Page blanche avec "Ressources ID#3)! Or, quand je procède grâce au plugings Poster de FireFox la page s'execute correctement...


Code:

$posts= array(
   'ajax' => '1',
   'get_js' => '1',
   'get_media' => '1',
   'id' => "new",
   'rubrique' => '23906148',
   'window_id' => '0'
);

$session = curl_init();

//Adressage
curl_setopt($session, CURLOPT_URL, " URL ");

//Requete de type POST
curl_setopt($session, CURLOPT_POST, true);
curl_setopt($session, CURLOPT_POSTFIELDS, $posts);

//Gestion cookies
curl_setopt($session, CURLOPT_COOKIESESSION, true);
curl_setopt($session, CURLOPT_COOKIEFILE, realpath($cookie));

//Suivre les redirections
curl_setopt($session, CURLOPT_FOLLOWLOCATION, 1);

//CURLOPT_RETURNTRANSFER pour mettre le résultat en variable
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

curl_setopt($session, CURLOPT_HEADER, true);

//Execution de la commande
$content = curl_exec($session);
curl_close($session);

echo $session;


J'ai deux doutes du pourquoi:
- Le javascript est assez présent sur le site, je sais que PHPCurl ne le gère pas mais la page appelée est bien du PHP (Poster gere-t-il le JS ?)
- Les 'contents options' mal définie.

J'ai remarqué, avec Poster, que si je ne renseignais pas assez d'élément une page m'informant de l'erreur s'affiche, est-ce que mon code envoie correctement les données à la page distante, encore une nouvelle question...

Si vous pouvez m'aider durant cette maisaventure, j'en serais très ravi!

Merci à vous,
MrLeWeb

Titre: Re:PHP Curl
Posté par: MrLeWeb13 le le 20-09-2013 a 17:37:44

Rebonjour,
J'ai avancé sur le sujet!

Maintenant j'ai cette erreur qui doit sans doute dire que j'ai un problème de connection ou de cookie:

Code:
Vous n'avez pas l'autorisation de créer un article dans cette rubrique


J'ai vérifié le cookie il ne s'alimentait pas! Je me suis donc penché sur le problème: J'ai mis l'enregistrement du cookie trop haut dans le code. Maintenant il se rempli.
Me voyant chercher deux jours pour ça.. J'ai revérifier le code en quête de petites éventuelles erreurs... Malheresement rien.

Etant assez débutant dans le cURL, j'ai suivi plusieurs tutoriaux, admettons: http://www.dewep.net/Blog/Article-9/Utiliser-cURL-PHP
Regardons de plus près sont exemple:
Citation:
[Code Coupé]
$lien2 = 'http://megaupload.com/?c=account';

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $lien2);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEFILE, realpath($path_cookie));

$return = curl_exec($curl); // On récupère alors la source de la page "account" de votre compte MegaUpload

curl_close($curl);

unlink($path_cookie);


Ce que je ne comprend pas ( et d'ailleurs je ne fais pas pareil sur mon code ), c'est que pour afficher la source de sa page d'account de mégaupload il renvoie les postfields une deuxieme fois ?!

Auriez-vous des conseils ?

MrLeWeb

Titre: Re:PHP Curl
Posté par: MrLeWeb13 le le 21-09-2013 a 12:17:53


Code:

curl_init();
curl_close();


Doit être appelé qu'une fois...
Je fermais la connection après la 1ere requete.


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.