title: Curl
category: CLI
layout: 2017/sheet
-updated: 2017-09-20
+updated: 2020-03-09
---
## Options
```bash
-v # --verbose
-vv # Even more verbose
--s # --silent
+-s # --silent: don't show progress meter or errors
+-S # --show-error: when used with --silent (-sS), show errors but no progress meter
```
```bash
+-i # --include: Include the HTTP-header in the output
-I # --head: headers only
```
```bash
-X POST # --request
--L # follow link if page redirects
+-L # follow link if page redirects
+-F # --form: HTTP POST data for multipart/form-data
```
### Data
```bash
# multipart file upload
curl -v -include --form key1=value1 --form upload=@localfilename URL
+
+# multipart form: send data from text field and upload file
+curl -F person=anonymous -F secret=@file.txt http://example.com/submit.cgi
+```
+
+```bash
+# Use Curl to Check if a remote resource is available
+# details: https://matthewsetter.com/check-if-file-is-available-with-curl/
+curl -o /dev/null --silent -Iw "%{http_code}" https://example.com/my.remote.tarball.gz
```