# cURL
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, [[FTP]], FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, [[SMB]], SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
cURL will trash metadata such as last modified dates. Use [[wget]] if you need metadata preserved.
![[Linux Fundamentals - Working with Web Services#^yo9fdn]]
Everything provided on the command line that is not a command line option or its argument, curl assumes is a URL and treats it as such.
`-v` will turn verbose mode which you can use to get full request and response
`-O` will download a file to disk and keep its original name
`-o <PATH>` will download response to disk and save it using the custom name provided
`-k` will skep SSL certificate checks
`--head` or `-I` will make a HEAD request meaning the server will only return response headers
`-H <Header: Value>` will set a header
`-A` will set the user agent header