Linux 学习记录: wget 和 curl

之前一直在用 wget 下载文件,最近又使用 curl 来提交 POST 请求,于是在这里将两者的主要用法以及区别总结下。

1. 二者比较

  • wget 主要用来下载文件,且速度较快,支持断点续传是其很大的优点;
  • curl 也可以用来下载文件,但其功能不仅仅只有这些。curl 还可以用来向 web 提交表单信息。curl 可以理解成一个命令行版本的浏览器,只不过它对返回的 html 页面不做渲染。

2. 主要用法

这里我们以下载 B 站的 一张壁纸 为例。

2.1 下载文件

1
2
3
4
5
# wget 后直接跟文件地址
wget https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

# curl 需要使用参数,注意是大写字母 O,不是数字 0
curl -O https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

2.2 下载文件然后重命名

1
2
3
4
5
# wget 后需要跟参数,注意是大写字母 O
wget -O wget_bizhi.jpg https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

# curl 反过来了,跟的参数是小写字母 o
curl -o curl_bizhi.jpg https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

2.3 断点续传

1
2
3
4
wget -c https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

# 注意参数顺序是:-,大写字母C,空格,-,空格,-,大写字母O
curl -C - -O https://i0.hdslb.com/bfs/album/323911edd18663c49ed1bdb7d3c02dfcac25c4ce.jpg

2.4 POST 提交请求

curl 还能提交一个 POST 请求,下面是一个向第三方 API 提交请求的例子:

1
2
3
4
5
6
curl --location --request POST 'http://134.175.73.113:8080/member/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"account": "15768092082",
"password": "123456"
}'

curl 命令还有很多其他的高级用法,具体可以参考下面这两篇博客:

  1. 11 cURL command usage with real-time example

  2. 15 Tips on how to use ‘curl’ command in Linux

3. References

Donate comment here