如何捕获Curl输出到文件?


421

我有一个文本文件,其中包含以下格式的一堆网址:

URL = "sitehere.com"

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

我怎样才能做到这一点?


23
curl http://{one,two}.example.com -o "file_#1.txt" curl.haxx.se/docs/manpage.html
onmyway133 '16

Answers:


607
curl -K myconfig.txt -o output.txt 

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

curl -K myconfig.txt >> output.txt

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

注意:-K是可选的。


1
抱歉,也许我需要澄清-我所有URL格式均为的文档称为myfile.txt,所以我卷曲了-K myfile.txt,虽然每个文档都可以运行,但我不会将输出输出到任何文件中。
托尼

22
我在命令行中使用了重定向:curl url > destfile.x
wasatchwizard,

1
当我执行这些操作时,输出仍显示在终端中,而不显示在文件中
kris

5
@kris您可能在网址中有一个&符。将网址放在双引号中,然后尝试
jglouie18年

它不使用-K即可工作。有了它,我得到“未指定URL”。
Arya Pourtabatabaie

161

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

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

将结果保存到当前文件夹中名为big-file.iso的新文件中。这样,它的工作方式类似于wget,但允许您指定使用wget时不可用的其他curl选项


1
对于多个文件,请使用--remote-name-all unix.stackexchange.com/a/265819/171025
qwr,

28

有多种选项可将curl输出到文件

 # saves it to myfile.txt
curl http://www.example.com/data.txt -o myfile.txt

# The #1 will get substituted with the url, so the filename contains the url
curl http://www.example.com/data.txt -o "file_#1.txt" 

# saves to data.txt, the filename extracted from the URL
curl http://www.example.com/data.txt -O 

# saves to filename determined by the Content-Disposition header sent by the server.
curl http://www.example.com/data.txt -O -J 

6

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

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


pbcopy仅在MacOS上可用。但是xclip可以在Linux的地方使用这个问题。但是,在大多数情况下,我还是更喜欢。curl http://example.com -o example_com.html & cat example_com.html | pbcopy 因此,如果您不小心清除剪贴板,则无需再次卷曲。
lacostenycoder

如果不确定有效负载的大小,也应谨慎使用。例如,您可能不想将其粘贴到文本编辑器中,但是在vim中打开它没有问题。curl http://www.textfiles.com/etext/FICTION/fielding-history-243.txt | pbcopy也许不要尝试这个!
lacostenycoder

0

如果要将输出存储到桌面,请在git bash中使用post命令遵循以下命令。

curl https:// localhost:8080 --request POST --header“ Content-Type:application / json” -o“ C:\ Desktop \ test.txt”


-1

有点晚了,但我认为OP正在寻找类似的东西:

curl -K myfile.txt --trace-asci output.txt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.