wget 和 cURL命令

2022-05-17 18:54:48 浏览数 (1)

cURL 与 wget:到底哪一个才更适合你

wget 简单直接。这意味着你能享受它超凡的下载速度。wget 是一个独立的程序,无需额外的资源库,更不会做其范畴之外的事情。

cURL是一个多功能工具。当然,它可以下载网络内容,但同时它也能做更多别的事情。

wget

wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成

wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。

wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

curl

cURL 技术支持库是:libcurl。这就意味着你可以基于 cURL 编写整个程序,允许你基于 libcurl 库中编写图形环境的下载程序,访问它所有的功能。

cURL 宽泛的网络协议支持可能是其最大的卖点。cURL 支持访问 HTTP 和 HTTPS 协议,能够处理 FTP 传输。它支持 LDAP 协议,甚至支持 Samba 分享。实际上,你还可以用 cURL 收发邮件。

cURL 也有一些简洁的安全特性。cURL 支持安装许多 SSL/TLS 库,也支持通过网络代理访问,包括 SOCKS。这意味着,你可以越过 Tor 来使用cURL。

cURL 同样支持让数据发送变得更容易的 gzip 压缩技术。

curl --help查看帮助

curl 的简单方法 curl -X METHOD -H HEADER -i

HTTP动词 curl 默认的 HTTP 动词是 GET,使用 -X 参数可以支持其他动词。 curl -X POST www.qq.com curl -X DELETE www.qq.com

显示响应header信息 $ curl -i www.qq.com -i 参数可以显示 http response 的头信息,连同网页代码一起。 -I 参数则只显示 http response 的头信息。

增加头信息 $ curl --header "Content-Type:application/json" http://example.com

支持重定向 Follow redirects -L 参数,curl 就会跳转到新的网址。 $ curl -L www.qq.com

若不加-L则会

代码语言:javascript复制
curl www.qq.com
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

输出到文件, 可以使用 -o 参数: $ curl -o [文件名] www.qq.com

curl常用命令总结

代码语言:javascript复制
 curl命令      访问网站url
 -I/--head   显示响应头信息
 -m/--max-time   访问超时的时间
 -o/--output     记录访问信息到文件
 -s/--silent     沉默模式访问,就是不输出信息
 -w/--write-out      以固定特殊的格式输出,例如:%{http_code},输出状态码

利用curl命令返回值确定网站是否正常 curl -I -m 5 -s -w "%{http_code}n" -o /dev/null www.baidu.com 若返回200则表示成功.

进行get请求 curl www.ithome.com

进行post请求

总结: 如果你想快速下载并且没有担心参数标识的需求,那你应该使用轻便有效的 wget。如果你想做一些更复杂的使用,直觉告诉你,你应该选择 cRUL。

cURL 支持你做很多事情。你可以把 cURL 想象成一个精简的命令行网页浏览器。它支持几乎你能想到的所有协议,可以交互访问几乎所有在线内容。唯一和浏览器不同的是,cURL 不会渲染接收到的相应信息。

0 人点赞