このFirefoxのcurlコマンドが何もダウンロードしないのはなぜですか?


8

https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rstFirefoxで開いて、次のcurlコマンドを[ツール]-> [Web開発]-> [ネットワーク]からコピーします。

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' 

lxterminalで実行すると、追加-Oしても何もダウンロードされません。なぜダウンロードされないのか、どうやってファイルをダウンロードさせるのかと思っていましたか?

ありがとう。


2
Firefoxから取得するcurlコマンドにはセッションCookie 含まれている可能性があり、それを使用して偽装できることに注意してください。とにかく、github Cookieがアセットサーバーから切り離されているため、これは安全です。
ジュールラムール

ありがとう。「なりすまし」と「GitHub Cookieがアセットサーバーから分離される」とはどういう意味かと思いました。
ティム

1
つまり、curlコマンドを誰かに送信すると、まるで自分のようにセッション(githubアカウントなど)を使用できるようになるということです。
Jules Lamur、

2
コマンドの内容を誰にも送信しない(またはコマンドからのCookieを編集する)ため。
ジュールラムール

1
@Tim Cookiesヘッダーですが、Jules Lamurが言ったように、GitHubがraw.githubusercontent.comのセッションを必要としないので、この例は脆弱ではありません。いずれにせよ、これは必ずしも他のサイトのCookieに限定されているわけではありません。機密情報には他のヘッダーを使用することを選択した可能性があります。
JoL 2018年

回答:


26

curl問題をデバッグする場合、この-vオプションが役立つことがよくあります。この特定の例では、If-None-Matchヘッダーを無視して実行しています。これは、「6931c3b4d0e94743bb93a36ed8e8c3f5add12f9a」に一致するファイルがすでにあり、変更されていない場合は再度取得する必要がないことをサーバーに伝えます。-vは、サーバーが304ヘッダーで応答することを示して、これを示しています。

< HTTP/1.1 304 Not Modified

ファイルをダウンロードするには、ヘッダーをドロップします。

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'

この特定のインスタンスでは、同じ結果が得られます

curl 'https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.