Linux使用curl访问网页和wget下载文件
作者:springsnow 发布时间:2021-01-25 23:03:55
一: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/
来源:https://www.cnblogs.com/springsnow/p/12205279.html
猜你喜欢
- 10月14日国际报道 若你的笔记本或移动设备内建有加速感应器,新的FireFox 3.6版将可侦测笔记本的方向,并将该信息传给浏览器的应用程
- 最近,我费了九牛二虎之力终于帮一个网友在西安取出了他在网站上挂Google Adsense所得的收入。因为他用的Google Adsense
- Adobe Dreamweaver支持HTML5 Xtalk社区聊天插件 v1.2 正式版5月19日发布。Xtalk是为Discuz!/UC
- 网赚,诈骗是避不开的一个话题。如果你是一个新手,骗子网站对你可能就是一场灾难!不仅N久的努力白忙活了,对新手的信心也是一个很大的打击。那么,
- 网络游戏越来越赚钱,成本增加门槛也越来越高,网络游戏视乎成为了大公司和投资家的专利,小公司和小资本往往望而却步,近年来随着网络带宽的增加和游
- 北京时间11月7日消息,据国外媒体报道,美国互联网流量监测机构comScore周五宣布,已发布今年9月全球10大互联网资产排行榜。以用户停留
- 有不少发布商询问各种推介广告的问题,我们今天就常问问题进行一个集中解答,希望对您有所帮助。推介广告是如何付费的?答:推介广告不同于普通的针对
- 实现方法: 第一步:channelunit.func.php中添加如下函数 //参数说明:第1个参数是从信息表里读取出来的类别ID,第2个参
- 网站可用性关系到它能为用户节省多少时间。网站可用性越高,用户体验也就越高,用户也就会增加停留在网站上的时间。当一个经验不足的用户通过你网站的
- 从10月7号开始到10月15日止,已经有8天了,网络上关于uucall断网事件的真相之争从来就没有停息过。根据专业人士的判断以及网友们的各种
- (文案写作的分享…注定是枯燥+无聊的…幸好大家还是听我讲完了…灰常感谢各位捧场…下面在此汇报汇报…)关于文案的一些定义我找了很多关于文案的各
- 1、做友情链接要有的放矢。不能够乱撒网!做友情链接就要做和我们自己网站内容相关的网站的链接!这就和国家确定自己的外交政策一样,和自己国家的政
- 最近在使用Linux操作系统执行一个可执行文件,结果出现了No such file or directory的提示,表示很疑惑。./tshr
- 1.配置.htaccess 自定义错误页 我要介绍的.htaccess的第一个应用是自定义错误页面,这将使你可以拥有自
- 引:在一台服务器的使用上,磁盘往往占据着很重要的位置。服务器磁盘的配置和维护对整个服务器性能方面产生很大影响。实际上,优化服务器磁盘的方法只
- Godaddy主机的Update Contact Information部分使你能够更新域名的联系信息。私人或者在设置中的域名联系信息无法更
- 打开dede/inc/inc_batchup.php找到"//删除数据库的内容"前面加//删除缩略图 if($arcRo
- 我是来自创业资讯网的小编,今天我们来讲讲如果勾引蜘蛛, 让蜘蛛为我所用快速更新网站内容和快照,有很多网站在发布后, 百度谷歌的更新速度很慢,
- Google AdWords账户可以制作25个广告系列,而每个系列可以制作100个广告组,但其实每个广告系列中可以添加2000甚至3000的
- 似乎是在一夜之间,网页游戏(WebGame)在中国火了起来。2008年4月,51wan公司正式对外发布了10款网页游戏,随后百度也宣布正式进