70

Why does this not work:

curl -X HEAD http://www.google.com

But these both work just fine:

curl -I http://www.google.com

curl -X GET http://www.google.com
Ankur Agarwal
  • 23,692
  • 41
  • 137
  • 208

3 Answers3

121

You need to add the -i flag to the first command, to include the HTTP header in the output. This is required to print headers.

curl -X HEAD -i http://www.google.com

More here: https://serverfault.com/questions/140149/difference-between-curl-i-and-curl-x-head

Community
  • 1
  • 1
dmc7z
  • 1,607
  • 2
  • 11
  • 15
51

curl --head https://www.example.net

I was pointed to this by curl itself; when I issued the command with -X HEAD, it printed:

Warning: Setting custom HTTP method to HEAD with -X/--request may not work the 
Warning: way you want. Consider using -I/--head instead.
bovender
  • 1,838
  • 15
  • 31
4

google.com is not responding to HTTP HEAD requests, which is why you are seeing a hang for the first command.

It does respond to GET requests, which is why the third command works.

As for the second, curl just prints the headers from a standard request.

SheetJS
  • 22,470
  • 12
  • 65
  • 75