curl(1) -s -v -H "halo world" -- ""
transfer a URL
-s, --silent
       Silent or quiet mode. Don't show progress meter or error messages.  Makes Curl mute.
-v, --verbose
       Makes  the  fetching more verbose/talkative. Mostly useful for debugging. A line starting with '>'
       means "header data" sent by curl, '<' means "header data" received  by  curl  that  is  hidden  in
       normal cases, and a line starting with '*' means additional info provided by curl.
-H, --header <header>
       (HTTP) Extra header to use when getting a web page. You may specify any number of  extra  headers.
       Note  that  if  you  should add a custom header that has the same name as one of the internal ones
       curl would use, your externally set header will be used instead of the internal one.  This  allows
       you to make even trickier stuff than curl would normally do. You should not replace internally set
       headers without knowing perfectly well what you're doing. Remove an internal header  by  giving  a
       replacement without content on the right side of the colon, as in: -H "Host:".

       curl  will  make sure that each header you add/replace is sent with the proper end-of-line marker,
       you should thus not add that as a part of the header content: do  not  add  newlines  or  carriage
       returns, they will only mess things up for you.

       See also the -A, --user-agent and -e, --referer options.

       This option can be used multiple times to add/replace/remove multiple headers.
source manpages: curl