Get a Single Header with cURL

By  on  

Debugging third party apps can be difficult for a variety of reasons.  You take for granted that the third party has not only properly coded their app but that their server is also serving files properly.  As more a developer than a sysadmin I tend to spend a long time on the code before I ensure the server stuff is correct.  One mistake often made on the server side is not sending correct Content-Type headers with content, especially audio and video files, and that can cause a real problem for the app or codec trying to do something with the content.  These days I check response headers before I do anything else.

Getting complete response headers with cURL is easy:

#  Get response headers
curl -I https://davidwalsh.name

#  Result:
#  HTTP/1.1 301 Moved Permanently
#  Date: Wed, 03 Feb 2016 17:29:51 GMT
#  Content-Type: text/html; charset=iso-8859-1
#  Connection: keep-alive
#  Set-Cookie: __cfduid=dab1e532a38b35ce7d764344217ddd8dc1454520590; expires=Thu, 02-Feb-17 17:29:50 GMT; path=/; domain=.davidwalsh.name; HttpOnly
#  Location: https://davidwalsh.name/
#  Cache-Control: max-age=1
#  Expires: Wed, 03 Feb 2016 17:29:52 GMT
#  Vary: Accept-Encoding
#  Server: cloudflare-nginx
#  CF-RAY: 26efdc3d2aa841ef-MSP

But that's a lot of info to sift through if you only want the one header.  Here's how you can retrieve just one header:

#  Get single header only
#  curl {url} -I | grep -Fi {header_name}
curl https://davidwalsh.name -I | grep -Fi Content-Type

#  Result:
#  Content-Type: text/html; charset=iso-8859-1

With the extra grep above you'll only get the one header back.  Simple!

Recent Features

  • By
    Introducing MooTools Templated

    One major problem with creating UI components with the MooTools JavaScript framework is that there isn't a great way of allowing customization of template and ease of node creation. As of today, there are two ways of creating: new Element Madness The first way to create UI-driven...

  • By
    Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in...

Incredible Demos

Discussion

  1. Lev Nar

    this is the best answer that I found with my problem, but the only question i have is how to do this is curl php

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!