linux - wget和curl各有何用处?(强大但是不知如何使用)

查看:162
本文介绍了linux - wget和curl各有何用处?(强大但是不知如何使用)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

描述问题

在我使用它们的有限时间里, 一直wget==文件下载器==curl, 但是见许多REST文档中都拿curl做例子,便man curl, 发现其简介如下:

curl  is  a tool to transfer data from or to a server, using one of the supported
       protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or  FILE).
       The command is designed to work without user interaction.

       curl  offers  a busload of useful tricks like proxy support, user authentication,
       FTP upload, HTTP post, SSL connections, cookies, file transfer resume  and  more.
       As you will see below, the number of features will make your head spin!

       curl  is powered by libcurl for all transfer-related features. See libcurl(3) for
       details.

英文浅显易懂, 我想: 功能这么强大, 估计又难免记忆一大堆参数(痛苦)

大家是如何用的?

上下文环境

  1. Linux纯命令行-Server

重现

相关代码

  1. man curl

  2. man wget

解决方案

wget

一句话:内置的文件下载工具

优点:

  • 多数发行版内置

  • 支持简单的递归扒站

  • 适合下载,默认写文件

缺点:

  • 一般仅用做下载,组装post请求、发复杂header等不常用

  • 下载功能比较原始,不支持并发、p2p、磁力链接等

curl

一句话:内置的请求发送工具+请求发送库

优点:

  • 多数发行版内置

  • 某种程度上是表达一个http请求的默认(比如chrome开发工具可以直接复制为curl,比如很多api接口文档直接提供curl命令)

  • 默认输出stdout,便于pipe其他命令(常见的一句话安装curl xxx | bash

  • 同时libcurl是稳定常用的类库,便于整合到其他项目中

缺点:

  • 用做下载要额外参数

  • 拼接复杂请求相对麻烦

httpie

一句话:现代的http请求发送工具

优点:

  • 拼接json请求非常方便,适合调现代的restful接口

  • 支持用文件记录session(cookie、固定请求头等),适合调接口

  • 参数清晰简单,上手快

  • 返回结果有高亮

缺点:

  • 要自己装

  • 要自己装

  • 要自己装

(还有eliangcs/http-prompt这个项目,简直黑魔法)

aria2c

一句话:现代的下载工具

优点:

  • 支持包括磁力链接的更多下载方式、并发下载、多个源下载等等

  • server模式,可以装在路由器里,从而实现远程下载

缺点:

  • 要自己装

  • 要自己装

  • 要自己装

这篇关于linux - wget和curl各有何用处?(强大但是不知如何使用)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆