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
    Chris Coyier’s Favorite CodePen Demos

    David asked me if I'd be up for a guest post picking out some of my favorite Pens from CodePen. A daunting task! There are so many! I managed to pick a few though that have blown me away over the past few months. If you...

  • By
    Creating Scrolling Parallax Effects with CSS

    Introduction For quite a long time now websites with the so called "parallax" effect have been really popular. In case you have not heard of this effect, it basically includes different layers of images that are moving in different directions or with different speed. This leads to a...

Incredible Demos

  • By
    jQuery Countdown Plugin

    You've probably been to sites like RapidShare and MegaUpload that allow you to download files but make you wait a specified number of seconds before giving you the download link. I've created a similar script but my script allows you to animate the CSS font-size...

  • By
    Create a Spinning, Zooming Effect with CSS3

    In case you weren't aware, CSS animations are awesome.  They're smooth, less taxing than JavaScript, and are the future of node animation within browsers.  Dojo's mobile solution, dojox.mobile, uses CSS animations instead of JavaScript to lighten the application's JavaScript footprint.  One of my favorite effects...

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!