Débogage du téléchargement de fichiers / téléchargement multipart et autres requêtes HTTP

Parfois, vous voulez voir la demande telle qu'elle est reçue par le serveur, sans aucune manipulation / occultation de la demande originale.

Par exemple, pour voir si les différents navigateurs traitent différemment les téléchargements de fichiers.

D'autre part, vous ne voulez pas écrire votre propre serveur de maquettes, juste pour traiter ces demandes, ou installer un logiciel compliqué.

Malheureusement, netcat ne se contente pas d'une enveloppe supplémentaire dans un script bash. J'ai donc cherché autre chose !

Conteneur Docker http request echo

Il existe un conteneur Docker, qui vous permet de répercuter les données de votre requête en JSON. Il est très utile pour le débogage :

https://github.com/mendhak/docker-http-https-echo

Il accepte également les messages POST.

Installation

docker run -p 8080:80 -p 8443:443 -rm -t mendhak/http-https-echo

Exemple

Voici une réponse à un exemple de demande de téléchargement.

Notez le Content-Disposition, et les limites dans le corps de la requête.

La demande a été faite en utilisant Internet Explorer 7 sur un Windows XP (machine virtuelle).

image

et une autre capture d'écran montrant une simple requête get (de Windows 8.1) :

image

----------7e33ca16100d0\r\nContent-Disposition : form-data ; name="fileToUpload" ; filename="C:\\\N- Documents and Settings\\N-Administrator\N-Desktop\N- Test\N- Blue.jpg"\r\nContent-Type : image/pjpeg\r\n\r\n����\u0000\u0010JFIF\u0000\u0001\u0001\u0000H\u0000H\u0000\u0000��\u0000>CREATEUR : gd-jpeg v1.0 (utilisant IJG JPEG v62), par défaut

(...)

\u0000�� \r\nContent-Disposition : form-data ; name="submit"\r\r\nUpload Image\r\n----------7e33ca16100d0-\r\n',

Comment obtenir Windows XP et IE 7

Microsoft avait l'habitude de proposer une machine virtuelle pour tester la compatibilité des sites web avec IE 7. Ce service a malheureusement disparu.

Il existe toutefois une possibilité d'obtenir Windows XP directement de Microsoft (en extrayant une image virtuelle du mode XP pour Windows 7) :

https://parsiya.net/blog/2017-12-19-windows-xp-32-bit-sp3-virtual-machines/

Il fonctionnera pendant 30 jours.

Et vous pouvez obtenir le téléchargement pour Internet Explorer 7 ici :

http://download.microsoft.com/download/3/8/8/38889dc1-848c-4bf2-8335-86c573ad86d9/IE7-WindowsXP-x86-enu.exe

(extrait de ce script : https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh )