Curl
為什麼這個來自 Firefox 的 curl 命令不下載任何東西?
我
https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst
在 Firefox 中打開,然後從 Tools->Web Developer->Network 複製以下 curl 命令: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
了它。我想知道為什麼它不下載,以及如何讓它下載文件?謝謝。
在調試
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'