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

Envoyer un flux xml avec Lwp

5 réponses
Avatar
François
Bonjour,
Pour envoyer via Lwp les couples champ-valeur
d'un formulaire dans un hachage, pas
de probl=E8me mais pour envoyer
une structure xml du type
"<Flux><EtatCivil><Nom>TOTO</Nom><Age>21</Age></EtatCivil></Flux>"
je ne vois rien dans la doc ni les exemples
notamment sur l'option content_type
Si vous avez un lien ou un bout de
code, =E7a aiderait bigrement.
Merci
Fran=E7ois

5 réponses

Avatar
Martin
Allo,

Tu fais ton code côté client je présume alors disons que c'est rare qu'un
client web envoi du XML au serveur. Dans quel contexte est-ce que tu as
besoin de faire cela? Pour quel protocole particulièrement? Si c'est HTTP,
on place le content-type dans le HTTP::Request. Personnellement, la seule
fois ou j'ai vu un client web envoyer du XML vers un serveur, ca
fonctionnait de la facon que tu décrivais dans ton message. Un couple
champ-valeur du genre :

'xmlrequest' => '<xmltag>...</xmltag>'

Martin


"François" a écrit dans le message de news:
43f9ea29$0$18338$
Bonjour,
Pour envoyer via Lwp les couples champ-valeur
d'un formulaire dans un hachage, pas
de problème mais pour envoyer
une structure xml du type
"<Flux><EtatCivil><Nom>TOTO</Nom><Age>21</Age></EtatCivil></Flux>"
je ne vois rien dans la doc ni les exemples
notamment sur l'option content_type
Si vous avez un lien ou un bout de
code, ça aiderait bigrement.
Merci
François
Avatar
François
"François" a écrit dans le message de news:
43f9ea29$0$18338$
Bonjour,
Pour envoyer via Lwp les couples champ-valeur
d'un formulaire dans un hachage, pas
de problème mais pour envoyer
une structure xml du type
"<Flux><EtatCivil><Nom>TOTO</Nom><Age>21</Age></EtatCivil></Flux>"
je ne vois rien dans la doc ni les exemples
notamment sur l'option content_type
Si vous avez un lien ou un bout de
code, ça aiderait bigrement.
Merci
François



"Martin" a écrit dans le message de news: RxuKf.5605$%
Allo,

Tu fais ton code côté client je présume alors disons que c'est rare qu'un
client web envoi du XML au serveur. Dans quel contexte est-ce que tu as
besoin de faire cela? Pour quel protocole particulièrement? Si c'est HTTP,
on place le content-type dans le HTTP::Request. Personnellement, la seule
fois ou j'ai vu un client web envoyer du XML vers un serveur, ca
fonctionnait de la facon que tu décrivais dans ton message. Un couple
champ-valeur du genre :

'xmlrequest' => '<xmltag>...</xmltag>'

Martin


Bonjour,
Merci pour ta réponse.
En fait c'est un script sur un serveur A qui doit envoyer
via un flux HTTP une requete XML à un serveur B
Merci
François
Avatar
Jacques Caron
Salut,

On Mon, 20 Feb 2006 17:11:08 +0100, François
wrote:

Pour envoyer via Lwp les couples champ-valeur
d'un formulaire dans un hachage, pas
de problème mais pour envoyer
une structure xml du type
"<Flux><EtatCivil><Nom>TOTO</Nom><Age>21</Age></EtatCivil></Flux>"
je ne vois rien dans la doc ni les exemples


Il suffit de faire un POST, à vue de nez...

notamment sur l'option content_type


Ca va dépendre un peu de ce que veut le serveur, mais ce sera souvent du
text/xml, assez logiquement.

Jacques.
--
Oxado http://www.oxado.com/

Avatar
Martin
Allo,

Le problème est de savoir ce que le serveur attend. Ce que tu dois avoir en
tête aussi est que tu vas probablement envoyer ton XML sous sa forme textuel
et non sous une forme de structure. Il faut savoir qu'est-ce que ton serveur
attend. Si tu penses réaliser ton code côté serveur après... selon ce que
ton client envoi, c'est à toi de choisir. Puisque tu tiens tant à un bout de
code, voici une option :


require HTTP::Request;
require LWP::UserAgent;

my $request = HTTP::Request->new(POST => 'http://localhost');
$request->content('<monxml>allo</monxml>');
$request->content_type('text/xml'); # Pas certain si c le bon

my $ua = LWP::UserAgent->new;
my $response = $ua->request($request);

print $request->as_string;
print "n-----------------n";
print $response->as_string;



"François" a écrit dans le message de news:
43fae6bd$0$20180$
"François" a écrit dans le message de news:
43f9ea29$0$18338$
Bonjour,
Pour envoyer via Lwp les couples champ-valeur
d'un formulaire dans un hachage, pas
de problème mais pour envoyer
une structure xml du type
"<Flux><EtatCivil><Nom>TOTO</Nom><Age>21</Age></EtatCivil></Flux>"
je ne vois rien dans la doc ni les exemples
notamment sur l'option content_type
Si vous avez un lien ou un bout de
code, ça aiderait bigrement.
Merci
François



"Martin" a écrit dans le message de
news: RxuKf.5605$%
Allo,

Tu fais ton code côté client je présume alors disons que c'est rare qu'un
client web envoi du XML au serveur. Dans quel contexte est-ce que tu as
besoin de faire cela? Pour quel protocole particulièrement? Si c'est HTTP,
on place le content-type dans le HTTP::Request. Personnellement, la seule
fois ou j'ai vu un client web envoyer du XML vers un serveur, ca
fonctionnait de la facon que tu décrivais dans ton message. Un couple
champ-valeur du genre :

'xmlrequest' => '<xmltag>...</xmltag>'

Martin


Bonjour,
Merci pour ta réponse.
En fait c'est un script sur un serveur A qui doit envoyer
via un flux HTTP une requete XML à un serveur B
Merci
François
Avatar
François
"François" a écrit dans le message de news:
43f9ea29$0$18338$
Bonjour,
Pour envoyer via Lwp les couples champ-valeur
d'un formulaire dans un hachage, pas
de problème mais pour envoyer
une structure xml du type
"<Flux><EtatCivil><Nom>TOTO</Nom><Age>21</Age></EtatCivil></Flux>"
je ne vois rien dans la doc ni les exemples
notamment sur l'option content_type
Si vous avez un lien ou un bout de
code, ça aiderait bigrement.
Merci
François



"Martin" a écrit dans le message de
news: RxuKf.5605$%
Allo,

Tu fais ton code côté client je présume alors disons que c'est rare qu'un
client web envoi du XML au serveur. Dans quel contexte est-ce que tu as
besoin de faire cela? Pour quel protocole particulièrement? Si c'est HTTP,
on place le content-type dans le HTTP::Request. Personnellement, la seule
fois ou j'ai vu un client web envoyer du XML vers un serveur, ca
fonctionnait de la facon que tu décrivais dans ton message. Un couple
champ-valeur du genre :

'xmlrequest' => '<xmltag>...</xmltag>'

Martin


Bonjour,
Merci pour ta réponse.
En fait c'est un script sur un serveur A qui doit envoyer
via un flux HTTP une requete XML à un serveur B
Merci
François


"Martin" a écrit dans le message de news: wXPKf.11512$%
Allo,

Le problème est de savoir ce que le serveur attend. Ce que tu dois avoir en
tête aussi est que tu vas probablement envoyer ton XML sous sa forme textuel
et non sous une forme de structure. Il faut savoir qu'est-ce que ton serveur
attend. Si tu penses réaliser ton code côté serveur après... selon ce que
ton client envoi, c'est à toi de choisir. Puisque tu tiens tant à un bout de
code, voici une option :


require HTTP::Request;
require LWP::UserAgent;

my $request = HTTP::Request->new(POST => 'http://localhost');
$request->content('<monxml>allo</monxml>');
$request->content_type('text/xml'); # Pas certain si c le bon

my $ua = LWP::UserAgent->new;
my $response = $ua->request($request);

print $request->as_string;
print "n-----------------n";
print $response->as_string;


---------------------------------------
Bonjour,
Je confirme que ça fonctionne parfaitement
Merci
Cordialement
François