wget

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

语法:
wget(选项)(URL)

常见参数:

-a<日志文件>:在指定的日志文件中记录资料的执行过程; -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; -b:进行后台的方式运行wget; -B<连接地址>:设置参考的连接地址的基地地址; -c:继续执行上次终端的任务; -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on; -d:调试模式运行指令; -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔; -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令; -h:显示指令帮助信息; -i<文件>:从指定文件获取要下载的URL地址; -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔; -L:仅顺着关联的连接; -r:递归下载方式; -nc:文件存在时,下载文件不覆盖原有文件; -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程; -q:不显示指令执行过程; -nh:不查询主机名称; -v:显示详细执行过程; -V:显示版本信息; --passive-ftp:使用被动模式PASV连接FTP服务器; --follow-ftp:从HTML文件中下载FTP连接文件。

来自: http://man.linuxde.net/wget

-a<日志文件>:在指定的日志文件中记录资料的执行过程; -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; -b:进行后台的方式运行wget; -B<连接地址>:设置参考的连接地址的基地地址; -c:继续执行上次终端的任务; -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on; -d:调试模式运行指令; -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔; -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令; -h:显示指令帮助信息; -i<文件>:从指定文件获取要下载的URL地址; -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔; -L:仅顺着关联的连接; -r:递归下载方式; -nc:文件存在时,下载文件不覆盖原有文件; -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程; -q:不显示指令执行过程; -nh:不查询主机名称; -v:显示详细执行过程; -V:显示版本信息; --passive-ftp:使用被动模式PASV连接FTP服务器; --follow-ftp:从HTML文件中下载FTP连接文件。

来自: http://man.linuxde.net/wget

  -a<日志文件>:在指定的日志文件中记录资料的执行过程;

  -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
  -b:进行后台的方式运行wget;
  -B<连接地址>:设置参考的连接地址的基地地址;
  -c:继续执行上次终端的任务;
  -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
  -d:调试模式运行指令;
  -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
  -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令; -h:显示指令帮助信息;
  -i<文件>:从指定文件获取要下载的URL地址;
  -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
  -L:仅顺着关联的连接;
  -r:递归下载方式;
  -nc:文件存在时,下载文件不覆盖原有文件;
  -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
  -q:不显示指令执行过程;
  -nh:不查询主机名称;
  -v:显示详细执行过程;
  -V:显示版本信息;
  --passive-ftp:使用被动模式PASV连接FTP服务器;
  --follow-ftp:从HTML文件中下载FTP连接文件。

.wget下载单个文件:
wget http://www.linuxde.net/testfile.zip
下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里就是testfile.zip。 通过-O参数,可以指定文件名,这里指定的是mytest:
wget -O mytest http://www.linuxde.net/testfile.zip .限速下载:
wget --limit-rate=300k http://www.linuxde.net/testfile.zip 当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。 .简单的wget使用:
wget www.baidu.com
会在当前目录生成一个index.html文件 .使用wget断点续传:
wget -c http://www.linuxde.net/testfile.zip 使用wget -c重新启动下载中断的文件,对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

curl

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。

语法:

curl [option] [url]

常见参数:

-A/--user-agent <string> 设置用户代理发送给服务器
    -b/--cookie <name=string/file> cookie字符串或文件读取位置
    -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
    -C/--continue-at <offset> 断点续转
    -D/--dump-header <file> 把header信息写入到该文件中
    -e/--referer 来源网址,可用来伪造referer
    -f/--fail 连接失败时不显示http错误
    -o/--output 把输出写到该文件中
    -O/--remote-name 把输出写到该文件中,使用远程文件的文件名
    -r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
    -s/--silent 静音模式。不输出任何东西
    -T/--upload-file <file> 上传文件
    -u/--user <user[:password]> 设置服务器的用户和密码
    -w/--write-out [format] 什么输出完成后
    -x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
    -#/--progress-bar 进度条显示当前的传送状态
    -I/--head 只显示请求头信息

.下载文件:
curl http://www.linuxde.net/testfile.zip
下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里是testfile.zip
注意:
必须要加-O参数,否则是直接在控制台上显示文件内容了,且必须使用文件的绝对地址。
例,curl http://www.linuxde.net/testfile.zip -o /home/index.html .curl能够从特定的文件偏移处继续下载,它可以通过指定一个便宜量来下载部分文件:
curl URL/File -C 偏移量 #偏移量是以字节为单位的整数,如果让curl自动推断出正确的续传位置使用-C -:
curl -C -URL .用curl设置cookies
使用--cookie "COKKIES"选项来指定cookie,多个cookie使用分号分隔:
curl http://man.linuxde.net --cookie "user=root;pass=123456"
将cookie另存为一个文件,使用--cookie-jar选项:
curl URL --cookie-jar cookie_file 4.伪造referer
curl -e "www.linux.com" http://mail.linux.com 5.显示进度
curl www.baidu.com -o index.html --progress 6.设置用户代理
curl URL --user-agent "Mozilla/5.0"
或 curl URL -A "Mozilla/5.0"
 

wget和curl的区别:

wget是个专职的下载利器,简单,专一,极致;而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。在下载上,也各有所长,wget可以递归,支持断点;而curl支持URL中加入变量,因此可以批量下载。个人用途上,用wget来下载文件,加 -c选项可以实现断点续传;使用curl 来跟网站的API 交互,简便清晰。

1.curl是libcurl这个库支持的,wget是一个纯粹的命令行命令。

2.curl支持更多的协议。curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS,FILE, POP3, IMAP, SMTP and RTSP at the time of this writing. Wget supports HTTP, HTTPS and FTP。

3.curl 默认支持HTTP1.1(也支持1.0),而wget仅仅支持HTTP1.0规范。

4.curl在指定要下载的链接时能够支持URL的序列或集合,而wget则不能这样;

5.wget支持递归下载,而curl则没有这个功能。(这是wget的一个主要好处,wget也是有优势的。)

Linux的curl和wget的更多相关文章

  1. Linux学习:curl 与 wget命令

    curl和wget命令都是Linux下的工具,可以用来下载文件. 一.wget 例1: wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip 下载 ...

  2. linux下载利器之curl和wget的区别

    linux下载利器-------curl和wget的区别 curl和wget基础功能有诸多重叠,如下载等. 在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览 ...

  3. Linux命令发送Http的get或post请求(curl和wget两种方法)

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...

  4. linux包-下载-curl与wget

    [root@localhost ~]# rpm -qa|grep curllibcurl-7.19.7-37.el6_4.x86_64python-pycurl-7.19.0-8.el6.x86_64 ...

  5. Shell curl 和 wget 使用代理IP

    Linux Shell 提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget curl 和 wget 使用代理 curl 支持 http.https.socks4.socks5 wge ...

  6. curl 与wget的区别

    CURL与wget的区别 当想要直接通过linux 命令行下载文件,马上就能想到两个工具:wget 和 CURL.它们有很多一样的特征,可以很轻易的完成一些相同的任务,虽然它们有一些相似的特征,但它们 ...

  7. linux crontab+curl+php 实现php定时任务

    首先登入Linux ->用root登入 在命令行输入 crontab -e  之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容.这个文件 ...

  8. linux使用curl进行WebService接口测试

    参考 :linux使用curl进行接口测试 使用curl 命令模拟POST/GET请求 Linux命令发送Http的get或post请求(curl和wget两种方法) curl 模拟 GET\POST ...

  9. HTTPie:替代 Curl 和 Wget 的现代 HTTP 命令行客户端

    HTTPie 工具是现代的 HTTP 命令行客户端,它能通过命令行界面与 Web 服务进行交互. -- Magesh Maruthamuthu 大多数时间我们会使用 curl 命令或是 wget 命令 ...

随机推荐

  1. ThreadPoolExecutor源码中的适配器模式

    什么是适配器模式 网上已有很多的教程,不细讲了.可以参考:五分钟了解设计模式(3)---适配器模式 在适配器模式中,一定要识别清楚,Target Adaptee Adapter分别是哪些类或接口,这样 ...

  2. vue进入新页面,与原页面滚动到相同高度的解决方案

    可以在vue路由新增scrollBehavior,控制跳转页面高度 import Router from 'vue-router' new Router({ scrollBehavior (to, f ...

  3. leetcode算法小题(2)

    题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. package Simple;import java.util.Scanner;public class Prac ...

  4. spring @Value("${name}")使用

    在springmvc.xml配置文件中加入 (注意是springmvc配置文件不是spring配置文件的xml)不然可能取不到值 <context:property-placeholder lo ...

  5. tcp通信客户端本地日志查看

    最近有一个需求,app要接sdk,只涉及到客户端tcp通信,不涉及服务端接口调用.本文主要从adb环境准备.android/ios本地日志查看实战,进行分析整理. 一.adb查看Android本地日志 ...

  6. 在VMware下的Linux中的RAID5校验位算法下的磁盘管理

    前景:1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致 ...

  7. 基于xposed Hook框架实现个人免签支付方案

    我的个人网站如何实现支付功能? 想必很多程序员都有过想开发一个自己的网站来获得一些额外的收入,但做这件事会遇到支付这个问题.目前个人网站是无法实现支付功能的. 今天我就给大家分享一下我的实现方案:&l ...

  8. 树上神奇 逆 逆序对(我的叫法)hh的小纸条 重中之重!!!!!

    HH是一位十分爱好数学的大佬,尤其喜爱数数,一天百无聊赖的他写下了一个1-N的排列,并且在小纸条上记下了每个数前面有多少个数比他小,但HH不小心忘记了这个排列.现在只有当时记下的小纸条,现在请你还原出 ...

  9. python文件的基本操作

    打开文件的三种方式: open(r'E:\学习日记\python\code\文件的简单操作.py') open('E:\\学习日记\\python\\code\\文件的简单操作.py') open(' ...

  10. Genymotion模拟器安装搜狗输入法

    Genymotion模拟器默认没有中文输入法,如果在一些调试中涉及到需要输入中文则必须需要安装中文输入法. 这里以搜狗输入法为例. 这里需要注意一下几点就行: 百度下载一个搜狗输入法,需要特别注意的是 ...