Envoyer 2 requêtes POST via php (urgent)

peluchextoutou Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention   8
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention   11
 
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
 
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   Statut Membre Dernière intervention   11
 
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   Statut Membre Dernière intervention   11
 
up^

j'ai vraiment besoin d'aide
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention   11
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention   11
 
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
loloman001
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Essaye en mettant l'option CURLOPT_POST à true.
0