为什么 Firefox 中的这个curl 命令不下载任何东西?

为什么 Firefox 中的这个curl 命令不下载任何东西?

https://raw.githubusercontent.com/andreafrancia/trash-cli/master/README.rst在 Firefox 中打开,并从“工具”->“Web 开发人员”->“网络”复制以下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它,它也不会下载任何东西。我想知道为什么它不下载,以及如何让它下载文件?

谢谢。

答案1

调试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'

相关内容