Прежде всего, Curl - это просто утилита для выполнения http-запросов.Он не записывает автоматически заголовки ответов, такие как Cookie или заголовок ETag.
Но вы можете, например, записать заголовки в файл с помощью опции --dump-header
и извлечь искомый заголовок изсбросьте файл и используйте его в следующем запросе.
curl --dump-header header_dump www.google.no
Что касается отправки ETag, я предполагаю, что вы хотите выполнить условный запрос GET.То есть вы хотите указать серверу (или фактически приложению), что вас интересует только ответ 200 OK, если ресурс был изменен с момента последнего запроса.
Если это то, что вам нужно, вы можете добиться этого, добавив заголовок If-None-Match: к запросу:
curl -I -v --header 'If-None-Match: "1d30-4c993ec28581d"' http://httpd.apache.org
Обратите внимание, как заголовок выше обернутодинарные кавычки, а значение Etag заключено в двойные кавычки.Это не сработает, если вы не сделаете это.
Если Etag совпадает, вы должны получить ответ 304 вроде этого:
HTTP/1.1 304 Not Modified
Date: Tue, 18 Sep 2012 11:02:17 GMT
Server: Apache/2.4.1 (Unix) OpenSSL/1.0.0g
ETag: "1d30-4c993ec28581d"