获取网页源码
$ curl http://www.google.com/
将显示该页面的网页源码
(HTML):
-i
参数可以增加显示 HTTP Response
的头信息(同时仍显示网页源码)
$ curl -i https://www.google.com/
-o
- 保存到指定文件中
通过-o
可指定文件名,并将内容保存到指定的文件中。
$ curl -o a.html https://www.google.com/
即将对应的html
内容保存到了a.html
文件中。
打开a.html
即可看到对应内容:
-o
通常用于下载并保存文件。
$ curl -o tokyo.bin http://speedtest.tokyo.linode.com/100MB-tokyo.bin
-A
- 指定 User-Agent
$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com
-H
- 指定HTTP Headers
$ curl -H 'User-Agent: php/1.0' https://google.com
-b
- 指定Cookie
$ curl -b 'foo=bar' https://google.com
上面命令会生成一个标头Cookie: foo=bar
,向服务器发送一个名为foo
、值为bar
的 Cookie。
$ curl -b 'foo1=bar;foo2=bar2' https://google.com
上面命令发送两个 Cookie。
-d
- 设置HTTP Body
-d
参数用于发送 POST 请求的数据体。
$ curl -d'login=emma&password=123'-X POST https://google.com/login
# 或者
$ curl -d 'login=emma' -d 'password=123' -X POST https://google.com/login
使用-d
参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded
。并且会自动将请求转为 POST 方法,因此可以省略-X POST
。
-d
参数可以读取本地文本文件的数据,向服务器发送。
$ curl -d '@data.txt' https://google.com/login
上面命令读取data.txt
文件的内容,作为数据体向服务器发送。
-O
- 将服务器回应保存成文件,并将 URL 的最后部分当作文件名
-O
参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。
$ curl -O https://www.example.com/foo/bar.html
上面命令将服务器回应保存成文件,文件名为bar.html
。
-L
- 自动重定向
$ curl https://github.com/CodisLabs/codis/releases/download/3.2.2/codis3.2.2-go1.8.5-linux.zip
<html><body>You are being <a href="https://github-production-release-asset-2e65be.s3.amazonaws.com/25804514/2ded5908-053f-11e8-9062-381ec9d1c084?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200725%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200725T105550Z&X-Amz-Expires=300&X-Amz-Signature=958d86a21997cd8c43ddee56f54fa5be4ef08c5baf6f8b8d2eb7929a6f6d437f&X-Amz-SignedHeaders=host&actor_id=0&repo_id=25804514&response-content-disposition=attachment%3B%20filename%3Dcodis3.2.2-go1.8.5-linux.zip&response-content-type=application%2Foctet-stream">redirected</a>.</body></html>%
$ curl -L https://github.com/CodisLabs/codis/releases/download/3.2.2/codis3.2.2-go1.8.5-linux.zip
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.