|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
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" |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
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 |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 421 ![]() |
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 |
|
|
10
|
|
|
#5 |
|
Invité régulier
![]() Inscription : septembre 2006 Messages : 24 ![]() |
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. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com