Linux使用curl访问网页和wget下载文件

目录
  • 一:curl(网页访问,文件传输工具)
    • 1、安装
    • 2、常用参数
    • 3、使用示例
  • 二:wget(用于文件下载,在安装软件时会经常用到。)
    • 1、安装
    • 2、常用参数
    • 3、使用示例:
  • 三:区别
    • 1.下载文件
    • 2.下载文件并重命名
    • 3.断点续传
    • 4.限速下载
    • 5.显示响应头部信息
    • 6.wget利器--打包下载网站

一:curl(网页访问,文件传输工具)

curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。curl支持URL中加入变量,因此可以批量下载。;

使用curl 来跟网站的API 交互,简便清晰。

1、安装

1.安装:

sudo apt install curl

2.查看是否成功:

curl --version

2、常用参数

  • -c,–cookie-jar:将cookie写入到文件
  • -b,–cookie:从文件中读取cookie
  • -C,–continue-at:断点续传
  • -d,–data:http post方式传送数据
  • -D,–dump-header:把header信息写入到文件
  • -F,–from:模拟http表达提交数据
  • -s,–slient:减少输出信息
  • -o,–output:将信息输出到文件
  • -O,–remote-name:按照服务器上的文件名,存在本地
  • –l,–head:仅返回头部信息
  • -u,–user[user:pass]:设置http认证用户和密码
  • -T,–upload-file:上传文件
  • -e,–referer:指定引用地址
  • -x,–proxy:指定代理服务器地址和端口
  • -w,–write-out:输出指定格式内容
  • –retry:重试次数
  • –connect-timeout:指定尝试连接的最大时间/s

3、使用示例

1、查看某网页(该方法大部分用来测试服务器是否能到达另一个网站):curl [URL]

curl http://www.baidu.com

2、访问HTTP认证页面

curl –u user:pass URL

3、 重定向保存: curl [URL] >> [你的命名]

curl http://www.baidu.com >> baidu.html

4、下载网页:curl -o [你的命名] [URL] ,如果有乱码可以使用iconv转码

curl -o baidu.html www.baidu.com
curl –s –o baidu.html www.baidu.com |iconv -f utf-8 #减少输出信息

5、下载网页中具体某个文件:curl -O [URL]:

curl -O http://www.baidu.com/a7.png

6、指定proxy服务器以及其端口:curl -x [ip:端口] [URL]

curl -x 192.168.0.1:1080 http://www.baidu.com

7、模拟用户登陆,保存cookie信息到cookies.txt文件,再使用cookie登陆

curl -c ./cookies.txt -F NAME=user -F PWD=***URL
curl -b ./cookies.txt –o URL

8、获取和保存HTTP响应头headers:curl -D [保存格式] [URL]

curl -I http://www.baidu.com
curl -D ./header.txt http://www.baidu.com #将headers保存到文件中

9、模仿浏览器:curl -A [UA] [URL]

curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.baidu.com

10、断点续传:curl -C -O [URL]

curl -C -O http://www.linux.com/dodo1.JPG

12、通过ftp上传和下载文件:curl -T [文件] -u username:password ftp:[URL] :

curl -T filename ftp://user:pass@ip/docs #上传
curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/ #上传
curl -O ftp://user:pass@ip/filename #下载

二:wget(用于文件下载,在安装软件时会经常用到。)

wget是个专职的下载利器,简单,专一,极致;

wget可以递归,支持断点。加 -c选项不怕断网

1、安装

1.安装wget:

sudo apt install wget

2.查看是否成功:

wget --version

3、用法:wget [OPTION]... [URL]...

2、常用参数

1 启动参数

  • -V,–version:显示版本号
  • -h,–help:查看帮助
  • -b,–background:启动后转入后台执行

2 日志记录和输入文件参数

  • -o,–output-file=file:把记录写到file文件中
  • -a,–append-output=file:把记录追加到file文件中
  • -i,–input-file=file:从file读取url来下载

3 下载参数

  • -bind-address=address:指定本地使用地址
  • -t,-tries=number:设置最大尝试连接次数
  • -c,-continue:接着下载没有下载完的文件
  • -O,-output-document=file:将下载内容写入到file文件中
  • -spider:不下载文件
  • -T,-timeout=sec:设置响应超时时间
  • -w,-wait=sec:两次尝试之间间隔时间
  • –limit-rate=rate:限制下载速率
  • -progress=type:设置进度条

4 目录参数

  • -P,-directory-prefix=prefix:将文件保存到指定目录

5 HTTP参数

  • -http-user=user:设置http用户名
  • -http-passwd=pass:设置http密码
  • -U,–user-agent=agent:伪装代理
  • -no-http-keep-alive:关闭http活动链接,变成永久链接
  • -cookies=off:不使用cookies
  • -load-cookies=file:在开始会话前从file文件加载cookies
  • -save-cookies=file:在会话结束将cookies保存到file文件

6 FTP参数

  • -passive-ftp:默认值,使用被动模式
  • -active-ftp:使用主动模式

7 递归下载排除参数

  • -A,–accept=list:分号分割被下载扩展名的列表
  • -R,–reject=list:分号分割不被下载扩展名的列表
  • -D,–domains=list:分号分割被下载域的列表
  • –exclude-domains=list:分号分割不被下载域的列表

3、使用示例:

1、使用wget下载单个文件 :wget [URL]

wget http://cn2.php.net/distributions/php-5.6.13.tar.gz

2、下载并以不同的文件名保存 :wget -o [你的命名] [URL]

wget -o php5.6.tar.gz http://cn2.php.net/distributions/php-5.6.13.tar.gz

3、使用wget断点续传:wget -c [上次下载的URL]

wget -c http://cn2.php.net/distributions/php-5.6.13.tar.gz

4、使用wget后台下载 :wget -b [URL]

wget -b http://cn2.php.net/distributions/php-5.6.13.tar.gz
tail -f wget-log #查看文件下载进度

5、使用wget下载到指定目录:wget [URL] -P [存储地址]

wget http://cn2.php.net/distributions/php-5.6.13.tar.gz -P Download/

6、使用wget用户名和密码认证下载,登陆ftp下载文件:

wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://ip/filenam

7、可以利用—spider参数判断网址是否有效

wget –spider http://nginx.org/download/nginx-1.8.0.tar.gz

8、自动从多个链接下载文件

cat url_list.txt #先创建一个URL文件
http://nginx.org/download/nginx-1.8.0.tar.gz
http://nginx.org/download/nginx-1.6.3.tar.gz
wget -i url_list.txt

三:区别

curl由于可自定义各种请求参数所以在模拟web请求方面更擅长;wget由于支持ftp和Recursive所以在下载文件方面更擅长。类比的话curl是浏览器,而wget是迅雷9。

1.下载文件

curl -O http://man.linuxde.net/text.iso #O大写,不用O只是打印内容不会下载
wget http://www.linuxde.net/text.iso #不用参数,直接下载文件

2.下载文件并重命名

curl -o rename.iso http://man.linuxde.net/text.iso #o小写
wget -O rename.zip http://www.linuxde.net/text.iso #O大写

3.断点续传

curl -O -C -URL http://man.linuxde.net/text.iso #C大
wget -c http://www.linuxde.net/text.iso #c小写

4.限速下载

curl --limit-rate 50k -O http://man.linuxde.net/text.iso
wget --limit-rate=50k http://www.linuxde.net/text.iso

5.显示响应头部信息

curl -I http://man.linuxde.net/text.iso
wget --server-response http://www.linuxde.net/test.iso

6.wget利器--打包下载网站

wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/

到此这篇关于Linux使用curl命令访问网页和wget下载文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux中curl命令和wget命令的使用介绍与比较

    本文介绍的是Linux中curl命令和wget命令,这两者都是用来下载文件的工具,下面来看看详细的介绍: 一.wget wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例1: wget http://www.minjieren.com/wordpress-3.1-zh_CN.zip 下载文件保存到当前目录,文件名默认是url最后一个/后面的内容,这里就是 wordpress-3.1-zh_CN.zip 例2: wget -O myfil

  • Linux Shell中curl和wget使用代理IP的方法教程

    前言 大家都知道,在Linux Shell中提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget,本文将给大家详细介绍关于在Linux Shell中curl和wget使用代理IP的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看吧. curl 和 wget 使用代理 curl 支持 http.https.socks4.socks5 wget 支持 http.https 代理示例: #!/bin/bash # # curl 支持 http.https.socks4.so

  • Linux下模拟http的get/post请求(curl or wget)详解

    Linux下模拟http的get/post请求(curl or wget)详解 背景 最近项目中需要测试接口,但是测试服务器通过堡垒机才能访问,暂时又没有通过Nginx进行转发,只好直接在Linux上模拟http请求进行测试. 方法 get请求 curl "http://www.baidu.com" 如果URL指向的是一个文件或者一幅图可以直接下载到本地 curl -i "http://www.baidu.com" 显示全部信息 curl -l "http

  • Linux使用curl访问网页和wget下载文件

    目录 一:curl(网页访问,文件传输工具) 1.安装 2.常用参数 3.使用示例 二:wget(用于文件下载,在安装软件时会经常用到.) 1.安装 2.常用参数 3.使用示例: 三:区别 1.下载文件 2.下载文件并重命名 3.断点续传 4.限速下载 5.显示响应头部信息 6.wget利器--打包下载网站 一:curl(网页访问,文件传输工具) curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等.curl支持URL中加入变量,因此可以批量下载.

  • php+js实现的无刷新下载文件功能示例

    本文实例讲述了php+js实现的无刷新下载文件功能.分享给大家供大家参考,具体如下: 服务器端页面 步骤就是,设置头文件参数,然后读入并输出文件.下面代码的file_get_contents可以使用fread,fclose代替. download.php <?php $filename = $_GET['filename']; $path = __DIR__."/file/".$filename; Header( "Content-type: application/o

  • 前端vue a链接下载文件失败的问题(未发现文件)

    目录 前端vue a链接下载文件失败(未发现文件) 错误案例 完整代码 vue点击下载的避坑指南 引入 避坑之路 blob对象 前端vue a链接下载文件失败(未发现文件) 错误案例 发现出现错误后,我们去下载内容里面看我们下载这个文件的地址 ps:ctrl + j  打开下载内容的快捷键   适用于 windows系统 可以发现这个文件夹路径不对  识别不了 我把路径写在根目录下面了 src/assets/...  ,应该把你需要下载的文件放在跟src同级的目录下或者放在publice目录里面

  • 【CLI】利用Curl下载文件实时进度条显示的实现

    前言 最近在捣鼓命令行下的编程,下载文件总是一个难熬的过程,如果有进度条就好很多了!!! 先上一个进度条的扩展包,还是不错的https://github.com/dariuszp/cli-progress-bar (本地下载) 效果图: 还是挺好看的! curl有什么用? 用php ,curl主要是抓取数据,当然我们可以用其他的方法来抓取,比如fsockopen,file_get_contents等.但是只能抓那些能直接访问的页面,如果要抓取有页面访问控制的页面,或者是登录以后的页面就比较困难了

  • 基于SecureCRT向远程Linux主机上传下载文件步骤图解

    有时候直接在Linux服务器上通过 wget 或 curl 工具下截比较大的网络文件时会比较慢,这时我们通常会改用在Windows平台通过迅雷等更加现代化的下载功具下好目标文件(迅雷开会员才能更高速的恶心操作是题外话哈,话说我也送了不少钱给迅雷~~~),这时就面临要把Windows平台下的文件传送到远程Linux服务器上的问题了. 把Windows平台下的文件传送到远程Linux服务器上的方法有很多,这里简单记录下在当前流行的Linux远程管理工具SecureCRT下如何操作及注意事项! 先使用

  • 关于Linux的curl指令使用总结

    目录 Linux的curl指令使用 curl指令发送GET请求 curl指令发送POST请求 curl命令解读 总结 Linux的curl指令使用 curl指令发送GET请求 格式如下: curl -H [header参数] -XGET URL 假设URL地址为:http://localhost:8001/test,GET请求,参数为startTime,endTime 1.header传多个参数 1)可以用多个-H传多个header参数,如下: curl -H "token:122212eee2

  • 每天一个linux命令(61):wget命令详解

    Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行.这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦. wget 可以跟踪HTML页面上

  • xshell上传下载文件(Windows、Linux)

    经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下:之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛: 我是怎么操作的: 1.打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面:(经常第一步都不顺利,无法挂载Windows的文件夹) 2.在本地Linux虚拟机使用rsync同步拷贝的数据到远程Linux主机上,需要双方都

  • 基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统

    废话不多说了,直接给大家贴js代码了,代码附有注释,感兴趣的朋友一起学习吧. /** * Author: laixiangran. * Created by laixiangran on 2015/12/02. * 检测访问网页的浏览器呈现引擎.平台.Windows操作系统.移动设备和游戏系统 * ******************************************************************** * 各版本浏览器在windows10.0下的用户代理字符串:

随机推荐