Curlの出力をファイルに取り込む方法は?


423

この形式のURLの束を含むテキストドキュメントがあります。

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

回答:


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

指定したファイルで受け取った最初の出力を書き込みます(古い出力が存在する場合は上書きします)。

curl -K myconfig.txt >> output.txt

受け取ったすべての出力を指定したファイルに追加します。

注:-Kはオプションです。


1
申し訳ありませんが、明確にする必要があるかもしれません-すべてのURLが含まれるドキュメントの形式はmyfile.txtです。そのため、curl -K myfile.txtを実行し、それぞれを実行しますが、出力をどのファイルにも取得しません。
Tony

22
私は、コマンドラインのリダイレクトを使用しますcurl url > destfile.x
wasatchwizard

1
これらのいずれかを実行しても、出力はファイルではなくターミナルに表示されます
kris

5
@krisおそらくURLにアンパサンドがあります。URLを二重引用符で
囲み

-Kなしで動作します。これにより、「URLが指定されていません」というメッセージが表示されます。
Arya Pourtabatabaie

163

単一のファイルの場合は、URLパスの最後のセグメントをファイル名として使用する-O代わりに使用でき-o filenameます。例:

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を

28

ファイルへのカール出力を行うためのいくつかのオプションがあります

 # 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でのみ使用できます。ただしxclipLinuxの代わりに使用できます。この質問を参照してください。ただし、ほとんどの場合、私は優先する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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.