我有一个文本文档,它包含了一堆这样格式的url:

URL = "sitehere.com"

我要做的是运行curl -K myfile.txt,并将curl返回的响应输出保存到一个文件中。

我该怎么做呢?


当前回答

在这种情况下,可以使用curl或wget。所有这3个命令都做同样的事情,从http://path/to/file.txt下载文件,并在本地保存到“my_file.txt”:

wget http://path/to/file.txt -O my_file.txt  # my favorite--it has a progress bar
curl http://path/to/file.txt -o my_file.txt
curl http://path/to/file.txt > my_file.txt

注意第一个的-O是大写字母“O”。

wget命令的好处是它显示了一个很好的进度条。

您可以通过比较上述3种技术下载的文件的sha512哈希值来证明它们完全相同。在运行上述每个命令后运行sha512sum my_file.txt,并比较结果,显示所有3个文件具有完全相同的sha哈希值(sha和),这意味着文件是完全相同的,一个字节对一个字节。

请参见:wget命令下载文件并保存为不同的文件名

其他回答

curl -K myconfig.txt -o output.txt 

写入在指定文件中接收到的第一个输出(如果存在旧输出则覆盖)。

curl -K myconfig.txt >> output.txt

将收到的所有输出追加到指定文件。

备注:-K为可选参数。

对于单个文件,您可以使用-O而不是-O filename来使用URL路径的最后一段作为文件名。例子:

curl http://example.com/folder/big-file.iso -O

将结果保存到名为big-file的新文件中。Iso在当前文件夹。通过这种方式,它的工作原理与wget类似,但允许您指定使用wget时不可用的其他curl选项。

写入在指定文件中接收到的第一个输出(如果存在旧输出则覆盖)。

curl -K myconfig.txt >> output.txt

在这种情况下,可以使用curl或wget。所有这3个命令都做同样的事情,从http://path/to/file.txt下载文件,并在本地保存到“my_file.txt”:

wget http://path/to/file.txt -O my_file.txt  # my favorite--it has a progress bar
curl http://path/to/file.txt -o my_file.txt
curl http://path/to/file.txt > my_file.txt

注意第一个的-O是大写字母“O”。

wget命令的好处是它显示了一个很好的进度条。

您可以通过比较上述3种技术下载的文件的sha512哈希值来证明它们完全相同。在运行上述每个命令后运行sha512sum my_file.txt,并比较结果,显示所有3个文件具有完全相同的sha哈希值(sha和),这意味着文件是完全相同的,一个字节对一个字节。

请参见:wget命令下载文件并保存为不同的文件名

对于那些想要在剪贴板中复制cURL输出而不是输出到文件的人,可以在cURL命令后使用管道|来使用pbcopy。

示例:curl https://www.google.com/robots.txt | pbcopy。这将从给定的URL复制所有内容到剪贴板。

Linux版本:curl https://www.google.com/robots.txt | xclip

Windows版本:curl https://www.google.com/robots.txt |剪辑