Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/06/2011, 14h26   #1
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 9
Points : 9
Par défaut requête http get pour le contenu binaire d'un xml

Bonjour,

J'ai créé une petite application qui envoie un une requête HTTP GET par TCP pour télécharger toutes sortes de fichiers.

Ca fonctionne très bien, excepté pour les fichiers XML (.xml) qui apparemment me sont envoyés sous un format spécial à travers la couche HTTP.
Si je change l’extension je reçois le fichier correctement.

Je me demande donc s'il est possible de paramétrer la requête pour avoir le contenu binaire, sans formattage par la couche HTTP.

Ma requête actuelle est assez simple :
Code :
"GET http://host|folder|uri HTTP/1.0\r\nConnection: Keep-Alive\r\n\r\n"
Merci d'avance.
Schpitt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 13h46   #2
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
il n'y a aucun format spécial dans HTTP

donc il faut chercher ailleurs ou nous expliquer en quoi c'est spécial

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2011, 17h53   #3
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 9
Points : 9
Le serveur retire un byte à chaque retour de ligne (le \r de chaque \r\n).
Ca me fait le même pour les .txt.

Si je renomme mes .xml en .nxml, je n'ai plus le problème.
Schpitt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 09h24   #4
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
ce n'est pas ton serveur qui fais ça mais ton client ftp

Windows code le retour à la ligne \r\n et unix \n
du coup quand avec ton client FTP tu envoie le fichier sur le serveur les \r son supprimé car ton client FTP à reconnu XML comme du texte

lorsque tu renomme nxml ton client ne reconnais pas le type de fichier et le transmet en binaire
du coup il arrive sur le serveur avec \r\n

maintenant quand ton serveur Http t'envoie le fichier il te l'envoie tel qu'il a sur son disque

mais cela ne change rien XML ne tien pas compte des \r\n
je ne vois pa sen quoi cela te gène

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/06/2011, 20h40   #5
Invité régulier
 
Inscription : septembre 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 24
Points : 9
Points : 9
Trop fort !
C'était bien le client FTP, merci pour l'aide.

Pour l'explication, c'est pour une petite application (bientôt ici) genre RSync qui fonctionne par HTTP. L'appli compare le hash local avec le hash généré auparavant et mis sur le serveur.
Donc si le fichier change sur le serveur, même d'un byte, les hash ne correspondront jamais.
Schpitt est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h18.


 
 
 
 
Partenaires

Hébergement Web