linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > Linux中的curl和wget命令

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

作者:springsnow

这篇文章介绍了Linux使用curl命令访问网页和wget下载文件的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

1、安装

1.安装:

sudo apt install curl

2.查看是否成功:

curl --version

2、常用参数

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 启动参数

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

3 下载参数

4 目录参数

5 HTTP参数

6 FTP参数

7 递归下载排除参数

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下载文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文