CURL – sauvegarde de multiples réponses HTTP

J'ai appris que nous pouvons envoyer plusieurs requêtes HTTP avec CURL en procédant comme suit:

curl -I http://linuxbyexample.co.nr http://lne.blogdns.com/lbe 

ou ca:

 xargs curl -I < url-list.txt 

Comment pouvons-nous sauvegarder toutes les réponses que nous obtenons – chacune d'elles dans un file différent?

Vous pouvez utiliser l'option de command line -o pour écrire la sortie dans un file au lieu de Stdout. Vous pouvez utiliser plusieurs -o s par exemple

 curl -I http://linuxbyexample.co.nr lbe.co.nr.txt http://lne.blogdns.com/lbe -o lne.txt 

Si vous formatez urls-list.txt comme si

 http://serverfault.com -o serverfault.com.txt http://example.com -o example.com.txt 

Cela devrait fonctionner comme vous le souhaitez.

 $ cat urls-list.txt http://linuxbyexample.co.nr http://lne.blogdns.com/lbe $ while read u; do \ curl -I $u -o $(echo $u | sed 's/http:\/\///' | tr '/' '_').header; \ done < urls-list.txt $ cat linuxbyexample.co.nr.header HTTP/1.1 200 OK Date: Thu, 24 Nov 2011 03:15:19 GMT Server: LiteSpeed Connection: close X-Powered-By: PHP/5.2.10 Content-Type: text/html X-Powered-By: PleskLin