Message envoyé par HTTP Request Header

Wagadou
Invité n'ayant pas de compte PHPfrance

11 janv. 2011, 01:40

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 ?

ViPHP
ViPHP | 5462 Messages

11 janv. 2011, 02:01

ca se fait avec fsocketopen mais, je te conseil de plutôt, d'utiliser curl par exemple

ViPHP
ViPHP | 2577 Messages

12 janv. 2011, 15:36

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.