简介
curl 简介
- cURL(Client URL) 于 1997 年首次发布。
- 它最初命名为 urlget,然后在采用当前 cURL 名称之前变为 httpget。
# 名字变化
urlget -> httpget -> curl
- 原作者 Daniel Stenberg 创建 cURL 是为了自动为 IRC 用户获取货币汇率。
- curl 可以用于下载,但侧重于模拟各种 http 请求,与网站 API 交互。
wget 简介
- wget 原名 geturl,于 1995 年年底开始开发。
- wget 是 “World Wide Web” 和 “Get” 的结合,同时也隐含了软件的主要功能。当前它支持通过HTTP、HTTPS,以及FTP这三个最常见的TCP/IP协议协议下载。
- wget 专注于下载,可以递归,支持断点
httpie 简介
- HTTPie(读作 aitch-tee-tee-pie)是一个命令行 HTTP 客户端,拥有直观的界面,支持 JSON、语法高亮、下载功能、插件支持等特性。
- HTTPie 采用Python 开发,底层用到了 Requests 和 Pygments 库。
- 与 curl 对比图
实例
获取本机外网 IP
- curl 获取本机外网 IP
curl ip.sb
# 更改 User-Agent
curl -v ip.sb --user-agent Mozilla
curl -v ip.sb -A Mozilla # 简写
- wget 获取本机外网 IP
我不擅长做这个
- httpie 获取本机外网 IP
http -v ip.sb
# 更改 User-Agent
http -v ip.sb User-Agent:curl
文件下载
- curl 文件下载
# -o 自定义文件名(o小写)
curl -o pie.gif https://httpie.org/static/img/httpie.gif
# -C 断点续传(C大写)
# -C, --continue-at <offset> Resumed transfer offset
# -C- 自动寻找断点
curl -C- -O https://httpie.org/static/img/httpie.gif
# -O 使用 URL 中的文件名
curl -O https://httpie.org/static/img/httpie.gif
# 限速下载
curl --limit-rate 50k -O https://httpie.org/static/img/httpie.gif
# 使用 http 代理
curl -O https://httpie.org/static/img/httpie.gif --proxy http://127.0.0.1:10809
curl -O https://httpie.org/static/img/httpie.gif -x http://127.0.0.1:10809 # 简写
# 使用 socks5 代理
curl -O https://httpie.org/static/img/httpie.gif -x socks5://127.0.0.1:10808 # 简写
curl -O https://httpie.org/static/img/httpie.gif --socks5 127.0.0.1:10808 # 另一种写法
- wget 文件下载
# -c 断点续传(c小写)
wget -c https://httpie.org/static/img/httpie.gif
# -O 自定义文件名(O小写)
wget -O pie.gif https://httpie.org/static/img/httpie.gif
# 限速下载
wget --limit-rate=50k https://httpie.org/static/img/httpie.gif
# 使用 http 代理
# 截至 2019-12-31,wget 使用 socks 代理需要借助其他工具如 tsocks
wget -e "http_proxy=127.0.0.1:10809" https://httpie.org/static/img/httpie.gif
- wget 打包下载网站
# --mirror
## Makes (among other things) the download recursive.
# --convert-links
## Convert all the links (also to stuff like CSS stylesheets) to relative, so it will be suitable for offline viewing.
# --adjust-extension
## Adds suitable extensions to filenames (html or css) depending on their content-type.
# --page-requisites
## Download things like CSS style-sheets and images required to properly display the page offline.
# --no-parent
## When recursing do not ascend to the parent directory. It useful for restricting the download to only a portion of the site.
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org -P ./html
# 简写
wget -mkEpnp http://example.org -P ./html
- httpie 文件下载
http -v -d https://httpie.org/static/img/httpie.gif
# 使用 http 代理
http -v -d https://httpie.org/static/img/httpie.gif --proxy=https:http://127.0.0.1:10809
# 须安装 pysocks: pip install pysocks
# proxy 参数,目标网站协议:代理协议://代理地址:代理端口
# 使用 socks5 代理
http -v -d https://httpie.org/static/img/httpie.gif --proxy=https:socks5://127.0.0.1:10808
qbit 个人感受
curl 最专业,httpie 最友好,wget 有个全站下载的特有功能。
qbit snap
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。