Curl

為什麼這個來自 Firefox 的 curl 命令不下載任何東西?

  • May 22, 2018

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'

引用自:https://unix.stackexchange.com/questions/445378