Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Envoyer des donnees via un POST

4 réponses
Avatar
Florent Clairambault
Bonjour,
je voudrais envoyer des données via un POST. Mais à part en faisant la
requête HTTP moi-même (ce qui est un peu contraignant quand même), je ne
vois pas du tout comment faire.

J'aimerai envoyer des données XML dans le genre :
<?xml ?>
<insert table="the_table">
<row>
<row_id>4</row_id>
<name>Malkovitch</name>
</row>
<row>
<row_id>5</row_id>
<name>Smith</name>
</row>
</insert>

J'aurai aimé savoir si quelque chose est déja prévu dans PHP mis à part
SOAP qui est en cvs-release et j'aimerai faire fonctionner ça sur un
hébergeur dédié "standard" (Amen plus précisement).



Florent

4 réponses

Avatar
ftc
Bonjour,
je voudrais envoyer des données via un POST. Mais à part en faisant la
requête HTTP moi-même (ce qui est un peu contraignant quand même), je ne
vois pas du tout comment faire.


Certains hébergeur disposent du module Curl qui permet de faire des
opérations HTTP de façon assez simple.

Sinon il y a une flopée de bibliothèques pour utiliser HTTP dans PEAR.

Avatar
Florent Clairambault
Sinon il y a une flopée de bibliothèques pour utiliser HTTP dans PEAR.


Oh bordel !
Je ne connaissais pas pear. Pourtant, je gère bien en PHP et ça fait
longtemps que je programmme mais je ne connaissais pas ce truc la.

C'est génial, bon, le mauvais côté c'est que ça faisait 3h que je
programmais ces rêquetes et ça marchait trés trés bof. Donc, ça arrive
un peu tard quand même. Mais la, ça m'a peut-être fait économisé 1 jour
ou 2 de prise de tête.

Bref, c'est une vraie merveille ce truc... Ca fait gagner énormément de
temps.

Florent

Avatar
loufoque
Florent Clairambault a dit le 22/07/2005 à 20:42:

Mais à part en faisant la
requête HTTP moi-même (ce qui est un peu contraignant quand même)


HTTP est plutôt facile, surtout si on ne fait qu'envoyer un POST simple
sans trop réflechir.
Créer un client HTTP 1.1 robuste est aussi une tâche intéressante. Celui
de PEAR n'est pas parfait.

je ne
vois pas du tout comment faire.


Les versions récentes (4.3+) de PHP le font parfaitement.
http://fr.php.net/manual/en/wrappers.http.php

$opts = array(
'http' => array(
'method' => 'POST',
'content' => 'Contenu'
)
);

$context = stream_context_create($opts);
echo file_get_contents('http://site.tld/chemin/vers/fichier.ext', false,
$context);

Après il y a aussi cURL, qui est un client http en C (a priori bien
conçu) qui dispose d'un wrapper pour PHP.

Avatar
Florent Clairambault
$context = stream_context_create($opts);
echo file_get_contents('http://site.tld/chemin/vers/fichier.ext', false,
$context);

Après il y a aussi cURL, qui est un client http en C (a priori bien
conçu) qui dispose d'un wrapper pour PHP.


Ah bah oui, ça aurait été plus "standard". Parce que du coup, j'ai
utilisé une librairie PEAR. Cela dit, je la trouve un peu mieux faite,
mais bon, j'aurai préféré ne pas intégrer de librairie externe.


Florent