curl(1) -sSL -D -
transfer a URL
-s, --silent
       Silent or quiet mode. Don't show progress meter or error messages.  Makes Curl mute.
-S, --show-error
       When used with -s it makes curl show an error message if it fails.
-L, --location
       (HTTP/HTTPS) If the server reports that the requested page  has  moved  to  a  different  location
       (indicated  with  a Location: header and a 3XX response code), this option will make curl redo the
       request on the new place. If used together with -i, --include or  -I,  --head,  headers  from  all
       requested pages will be shown. When authentication is used, curl only sends its credentials to the
       initial host. If a redirect takes curl to a different host, it won't  be  able  to  intercept  the
       user+password.  See  also  --location-trusted  on  how to change this. You can limit the amount of
       redirects to follow by using the --max-redirs option.

       When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will
       do  the  following  request  with a GET if the HTTP response was 301, 302, or 303. If the response
       code was any other 3xx code, curl will re-send the following request  using  the  same  unmodified
-D, --dump-header <file>
       Write the protocol headers to the specified file.

       This option is handy to use when you want to store the headers that a  HTTP  site  sends  to  you.
       Cookies  from the headers could then be read in a second curl invocation by using the -b, --cookie
       option! The -c, --cookie-jar option is however a better way to store cookies.

       When used in FTP, the FTP server response lines are considered being "headers" and thus are  saved

       If this option is used several times, the last one will be used.  IP "--data-ascii <data>" See -d,
source manpages: curl