Page 1 sur 1

Message envoyé par HTTP Request Header

Posté : 11 janv. 2011, 01:40
par Wagadou
Hello guys,

Voilà mon problème. J'ai un site de vente en ligne. Sitôt une commande passée, je dois faire parvenir des informations sur la commande à mon prestataire pour qu'il puisse gérer l'envoi du colis.

Ils me demandent de créer un fichier XML avec toutes les information relatives à la commande et ils m'expliquent que chaque requête doit être initiée par un HTTP Request Header. L'exemple fourni est le suivant
POST $path HTTP/1.1
Host: $host
Connection: Close
Pragma: no-cache
Cache-Control: no-cache
Accept: */*
Content-Type: text/xml; charset=utf-8
Content-Length: 3653
User-Agent: NDHttp/1.1
Referer: YourCompany;YourApplication

<?xml version="1.0" encoding="UTF-8"?>
<ndxml versi……………
Ca me semble bizarre d'afficher un tel code avant le contenu de mon fichier XML. Il me semblait plutôt qu'il aurait fallu créer le contenu XML dans une variable puis faire quelque chose comme
    header("POST $path\r\n" );
    header("Host: $host\r\n" );
    header("Connection: Close\r\n" );
    header("Pragma: no-cache\r\n" );
    header("Cache-Control: no-cache\r\n" );
    header("Accept: */*\r\n" );
    header("Content-Type: text/xml; charset=utf-8\r\n" );
    header("Content-length: " . strlen($xml) . "\r\n" );
    header("User-Agent: NDHttp/1.1\r\n" );
    header("Referer: YourCompany;YourApplication\r\n\r\n" );
    header($xml);
Avez vous déjà vu pareil cas de figure ? Ca parle à quelqu'un ?

Re: Message envoyé par HTTP Request Header

Posté : 11 janv. 2011, 02:01
par stealth35
ca se fait avec fsocketopen mais, je te conseil de plutôt, d'utiliser curl par exemple

Re: Message envoyé par HTTP Request Header

Posté : 12 janv. 2011, 15:36
par Mazarini
Bonjour,

A mon avis les \n et \r sont à enlever, c'est la fonction header() qui les prend en charge.
Pour la fin, le header($xml) est à remplacer par echo $xml.