![CURL — сохранение нескольких HTTP-ответов](https://rvso.com/image/568252/CURL%20%E2%80%94%20%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85%20HTTP-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2.png)
Я узнал, что можно отправлять несколько HTTP-запросов с помощью CURL, выполнив следующие действия:
curl -I http://linuxbyexample.co.nr http://lne.blogdns.com/lbe
или это:
xargs curl -I < url-list.txt
Как сохранить все полученные ответы — каждый в отдельном файле?
решение1
Вы можете использовать -o
опцию командной строки, чтобы записать вывод в файл вместо stdout. Вы можете использовать несколько -o
s, например
curl -I http://linuxbyexample.co.nr lbe.co.nr.txt http://lne.blogdns.com/lbe -o lne.txt
Если вы отформатируете свой urls-list.txt следующим образом
http://serverfault.com -o serverfault.com.txt
http://example.com -o example.com.txt
все должно работать так, как вы хотите.
решение2
$ 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