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

 杜杜狼2602891895 发布于 2022-11-06 13:57

描述问题

在我使用它们的有限时间里, 一直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

3 个回答
  • wget: 下载利器

    1. 下载速率慢的资源,浏览器经常会没下完就当完成了。建议加 -T5

    2. 批量下 HTML 文档:wget -T 5 -t 10 -Q 500m -nH -r -E -l inf -k -p -np URL

    3. 批量下 URL:wget -i URL列表文件

    curl: 调试利器

    1. 简单好用,随处可得

    2. 浏览器的开发者工具支持复制为 curl 请求

    2022-11-11 19:01 回答
  • 个人行为:

    • wget一般用于下载文件

    • curl一般用于模拟请求,测试api

    2022-11-11 19:03 回答
  • 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模式,可以装在路由器里,从而实现远程下载

    缺点:

    • 要自己装

    • 要自己装

    • 要自己装

    2022-11-11 19:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有