cURL and libcurl
curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, SCP, SFTP, HTTP, HTTPS, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a busload of other useful tricks
https://curl.haxx.se/