Perché questo comando curl da firefox non scarica nulla?


8

Ho aperto https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rstin Firefox e ho copiato il seguente comando di arricciatura da Strumenti-> Sviluppatore Web-> Rete:

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' 

Quando lo eseguo in lxterminal, non scarica nulla, anche se lo aggiungo -O. Mi chiedevo perché non si scarica e come posso farlo scaricare il file?

Grazie.


2
Dovresti essere consapevole che il comando curl che ricevi da Firefox potrebbe contenere cookie di sessione e che può essere usato per impersonare te. Comunque, questo è sicuro perché i cookie github sono disaccoppiati dal server delle risorse.
Jules Lamur,

Grazie. Mi chiedevo cosa significano "impersonare" e "i cookie github sono disaccoppiati dal server delle risorse".
Tim

1
Volevo dire che se invii un comando curl a qualcuno, potrebbero usare la tua sessione (es. Account github) come se fossi in te.
Jules Lamur,

2
Non inviare il contenuto dei comandi a nessuno (o redarre i cookie dai comandi).
Jules Lamur,

1
@Tim Cookies header, ma come ha detto Jules Lamur, il tuo esempio non è vulnerabile perché GitHub non richiede la tua sessione per raw.githubusercontent.com. In ogni caso, ciò non è necessariamente limitato ai cookie di altri siti. Potrebbero scegliere di utilizzare altre intestazioni per informazioni sensibili.
JoL

Risposte:


26

Quando si verificano curlproblemi di debug , l' -vopzione è spesso utile. In questa particolare istanza, stai eseguendo If-None-Matchun'intestazione dell'intestazione, che dice al server che hai già il file corrispondente a "6931c3b4d0e94743bb93a36ed8e8c3f5add12f9a" e che non sei interessato a recuperarlo di nuovo se non è cambiato. -vmostra questo indicando che il server risponde con un'intestazione 304:

< HTTP/1.1 304 Not Modified

Per scaricare il file, rilascia l'intestazione:

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'

In questo caso particolare otterrai lo stesso risultato con

curl 'https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.