Pourquoi cette commande curl de Firefox ne télécharge-t-elle rien?


8

J'ai ouvert https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rstdans Firefox et copiez la commande curl suivante à partir d'Outils-> Développeur Web-> Réseau:

curl 'https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst' -H 'Host: raw.githubusercontent.com' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Language: en-GB,en;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'If-None-Match: "6931c3b4d0e94743bb93a36ed8e8c3f5add12f9a"' -H 'Cache-Control: max-age=0' 

Lorsque je l'exécute dans lxterminal, il ne télécharge rien, même si j'y ajoute -O. Je me demandais pourquoi il ne se télécharge pas et comment je peux le faire télécharger le fichier?

Merci.


2
Vous devez savoir que la commande curl que vous obtenez de Firefox peut contenir des cookies de session et qu'elle peut être utilisée pour vous faire passer pour vous. Quoi qu'il en soit, celui-ci est sûr car les cookies github sont découplés du serveur d'actifs.
Jules Lamur

Merci. Je me demandais ce que signifient "usurper l'identité" et "les cookies github du serveur d'actifs".
Tim

1
Je voulais dire que si vous envoyez une commande curl à quelqu'un, il pourrait utiliser votre session (par exemple un compte github) comme si c'était vous.
Jules Lamur

2
Ne pas envoyer le contenu des commandes à qui que ce soit (ou supprimer les cookies des commandes).
Jules Lamur

1
En-tête @Tim Cookies, mais comme Jules Lamur l'a dit, votre exemple n'est pas vulnérable car GitHub ne nécessite pas votre session pour raw.githubusercontent.com. Dans tous les cas, cela ne se limite pas nécessairement aux cookies pour d'autres sites. Ils pourraient choisir d'utiliser d'autres en-têtes pour les informations sensibles.
JoL

Réponses:


26

Lors du débogage de curlproblèmes, l' -voption est souvent utile. Dans ce cas particulier, vous exécutez une erreur dans l'en- If-None-Matchtête, ce qui indique au serveur que vous avez déjà le fichier correspondant «6931c3b4d0e94743bb93a36ed8e8c3f5add12f9a» et que vous n'êtes pas intéressé à le récupérer à nouveau s'il n'a pas changé. -vvous le montre en indiquant que le serveur répond avec un en-tête 304:

< HTTP/1.1 304 Not Modified

Pour télécharger votre fichier, déposez l'en-tête:

curl 'https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst' -H 'Host: raw.githubusercontent.com' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Language: en-GB,en;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Cache-Control: max-age=0'

Dans ce cas particulier, vous obtiendrez le même résultat avec

curl 'https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst'
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.