cURL is a command line tool and a library (libcurl) for transferring data over sockets. It supports a great number of protocols: HTTP, HTTPS, FTP, SCP, Gopher, and others.
dbohdan 2018-04-06: A simple Tcl 8.5+ and Jim Tcl wrapper for the command-line curl client can be found at https://gitlab.com/dbohdan/lw2-images/raw/master/lib/curl.tcl . It translates cURL's HTTP errors to errorcodes like CURL HTTP 404, which you can trap individually with try.