Envoyer 2 requêtes POST via php (urgent)

Fermé
peluchextoutou Messages postés 197 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 10 octobre 2011 - 18 juin 2010 à 05:40
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 - 23 juin 2010 à 13:49
Bonjour,

J'ai besoin d'envoyer 2 requêtes POST de suite via php sans déconnecter du serveur externe...

La première requête est pour la connexion au site, la deuxième est pour envoyer un formulaire à l'adresse monsite.com/formulaire... pour la première requête, tout fonctionne bien, mais à la 2e requête, je ne peut envoyer un autre POST sans me déconnecter...

j'utilise ce script : http://www.pateysoft.fr/Envoyer-une-requete-POST-par-PHP.html

et voici mon code :
require_once 'Core/Request/Abstract.php';
require_once 'Core/Request/Post.php';
require_once 'Core/Request/Get.php';
require_once 'Core/Request/Conversation.php';

$conversation = new Core_Request_Conversation();
$get = $conversation->newPost( 'http://www.monsite.com/login.php' );
$get->setData( 'username', 'moi@domaine.com' );
$get->setData( 'password', 'monpasse' );
$result = $get->send();
$cookies = $conversation->getCookies();

$get = $conversation->newPost('http://www.monsite.com/formulaire.php');

$resulte = $get->send();

echo $resulte;



comment puis-je faire que ce script puisse poster 2 fois ?
merci,
Pascal

A voir également:

12 réponses

ChrisCompote Messages postés 73 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 19 juin 2010 8
18 juin 2010 à 09:50
D'apres une lecture rapide, tu peux envoyer les 2 post.

Ceci dit il faut que ta deuxième page reçoive les informations d'authentification. Si elle les reçoit par session, il faut créer au préalable ces variables. Si c'est en POST, il faut les envoyer via ton newPost();

A mon avis, il faut envoyer tout l'environnement détaillé dans le site.
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
18 juin 2010 à 13:06
Il faut stocker le PHPSESSID dans un cookie, et transférer l'id de la session avec la deuxième request.

Tu peux utiliser cURL pour faire tes requêtes.
0
peluchextoutou Messages postés 197 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 10 octobre 2011 11
Modifié par peluchextoutou le 18/06/2010 à 20:03
Merci de vos réponses
j'ai deja tout essayé, meme stocker le phpsessid mais avec ce script, je n'ai pas besoin de le stocker car il le fait tout seul...

la connection se transfert sans problème a la 2e page mais le pb c'est que quand je suis sur la page 2, je ne peut envoyer un autre requete...
----------------------------------------------------------------------
Et pour cURL, je vais essayer et je vous donne des nouvelles;

merci
0
Utilisateur anonyme
18 juin 2010 à 20:16
Bonsoir,

tu pourrais utiliser la technologie AJAX pour poster en même temps sur ton site de façon normal et avec ajax sur un autre site.

C'est une proposition alors ne me crier pas dessus.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
peluchextoutou Messages postés 197 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 10 octobre 2011 11
Modifié par peluchextoutou le 18/06/2010 à 21:43
Je n'y arrive vraiment pas avec cURL... j'ai besoin d'aide svp

je veu envoyer 2 requete sur le meme site sans déconnecter...

je dois me connecter : monsite.com/login
et je dois chercher : monsite.com/recherche.php

et tout ca en sans me déconnecter du serveur distant....


EDIT : j'ai essayé Snoopy mais je ne sais pas comment m'en servir...
0
peluchextoutou Messages postés 197 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 10 octobre 2011 11
19 juin 2010 à 01:19
up^

j'ai vraiment besoin d'aide
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
19 juin 2010 à 13:16
Je t'ai codé un petit exemple.
https://gist.github.com/anonymous/444808

À la ligne 6, on indique le fichier où les cookies seront stockés. N'oublie pas de créer ce fichier et de mettre les droits en écriture. Au cas où tu te demanderais pourquoi utiliser les cookies, c'est parce que PHP a besoin de stocker l'identifiant de la session (PHPSESSID par défaut) chez le client. Ainsi, le client, lorsqu'il demande une page, transmet ce cookie et le serveur sait dire quelles valeurs sont stockées dans $_SESSION (en fonction du PHPSESSID).

À la ligne 13, on indique le même fichier, ainsi CURL transmettra le cookie.
0
peluchextoutou Messages postés 197 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 10 octobre 2011 11
19 juin 2010 à 18:04
je n'y arrive pas... le cookie est bel et bien enregisté sur le serveur mais il ne peut le ré-ouvrir à CURLOPT_COOKIEFILE
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
Modifié par avion-f16 le 19/06/2010 à 19:01
Aux lignes 12 et 13, remplace $curl2 par $curl.
À la 18, remplace $resultat2 par $resultat.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0
peluchextoutou Messages postés 197 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 10 octobre 2011 11
20 juin 2010 à 05:18
j'ai deja fait tout ca et j'ai tout tenté... rien ne marche

jusqu'a maintenant, c'est le script webcommuniquation qui a le plus marché... c'est le seul code avec lequel j'ai pu me connecter...
le pb, c'est que je ne peut envoyer une autre requète une fois connecté...

avez-vous une solution ?
0
Salut,

Je suis dans la même situation également mais je n'ai toujours pas trouvé de solution, j'ai entendu parler de http_post_fields mais encore une fois la fonction n'est pas reconnue et n'étant pas un pro du php, je sais pas quel en est la cause et si je c'est une bonne piste.
0
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
23 juin 2010 à 13:49
Essaye en mettant l'option CURLOPT_POST à true.
0