linux工具之curl与wget高级使用

简介:

1、curl(文件传输工具)


常用参数如下:

-c--cookie-jar:将cookie写入到文件

-b--cookie:从文件中读取cookie

-C--continue-at:断点续传

-d--datahttp 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


使用示例:

1:抓取页面到指定文件,如果有乱码可以使用iconv转码

# curl -o baidu.html www.baidu.com

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

2:模拟浏览器头(user-agent

# curl -A "Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.0)" www.baidu.com

3:处理重定向页面

# curl –L http://192.168.1.100/301.php   #默认curl是不处理重定向

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

# curl -c ./cookies.txt -F NAME=user -F PWD=***URL            #NAMEPWD是表单属性不同,每个网站基本都不同

# curl -b ./cookies.txt –o URL

5:获取HTTP响应头headers

# curl -I http://www.baidu.com

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

6:访问HTTP认证页面

# curl –u user:pass URL

7:通过ftp上传和下载文件
# curl -T filename ftp://user:pass@ip/docs  #上传

# curl -O ftp://user:pass@ip/filename   #下载


博客:http://lizhenliang.blog.51cto.com


2、wget(文件下载工具)


常用参数如下:

2.1 启动参数

-V--version:显示版本号

-h--help:查看帮助

-b--background:启动后转入后台执行

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

-o--output-file=file:把记录写到file文件中

-a--append-output=file:把记录追加到file文件中

-i--input-file=file:从file读取url来下载

2.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:设置进度条

2.4 目录参数

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

2.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文件

2.6 FTP参数

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

-active-ftp:使用主动模式

2.7 递归下载排除参数

-A--accept=list:分号分割被下载扩展名的列表

-R--reject=list:分号分割不被下载扩展名的列表

-D--domains=list:分号分割被下载域的列表

--exclude-domains=list:分号分割不被下载域的列表


使用示例:

1:下载单个文件到当前目录下,也可以-P指定下载目录

# wgethttp://nginx.org/download/nginx-1.8.0.tar.gz

2:对于网络不稳定的用户可以使用-c--tries参数,保证下载完成

# wget --tries=20 -c http://nginx.org/download/nginx-1.8.0.tar.gz

3:下载大的文件时,我们可以放到后台去下载,这时会生成wget-log文件来保存下载进度

# wget -b http://nginx.org/download/nginx-1.8.0.tar.gz

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

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

5:自动从多个链接下载文件

# 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

6:限制下载速度

# wget --limit-rate=1m http://nginx.org/download/nginx-1.8.0.tar.gz

7:登陆ftp下载文件

# wget --ftp-user=user --ftp-password=pass ftp://ip/filename

目录
相关文章
|
网络安全 数据中心
百度搜索:蓝易云【Proxmox软件防火墙的配置教程】
现在,你已经完成了Proxmox软件防火墙的配置。请确保你的防火墙规则设置正确,以保护你的Proxmox VE环境免受未经授权的访问和网络攻击。
396 5
|
数据可视化 前端开发 数据挖掘
【优秀python大屏】基于python flask的广州历史天气数据应用与可视化大屏
本文介绍了一个基于Python Flask框架的广州历史天气数据应用与可视化大屏系统,该系统通过数据采集、处理、分析和可视化技术,提供了丰富的气象数据展示和决策支持,帮助用户快速了解和应对气象变化。
554 110
【优秀python大屏】基于python flask的广州历史天气数据应用与可视化大屏
|
机器学习/深度学习 人工智能 运维
智能运维:AI驱动的IT运维革命###
【10月更文挑战第21天】 随着数字化转型的深入,智能运维(AIOps)正逐步成为企业IT管理的核心。本文将探讨AI技术如何赋能运维领域,通过自动化、智能化手段提升系统稳定性和效率,降低运营成本,并分享实施智能运维的最佳实践与挑战应对策略。 ###
940 1
|
存储 小程序 编译器
什么是“大小端字节序”存储模式?
这篇内容讨论了计算机内存中存储整型变量的方式,特别是针对不同字节序(大端和小端)的概念。文章首先解释了正负整数在内存中以补码形式存储的规则,然后提出了一个问题:当一个4字节的整数在内存中存储时,其字节是如何分布的?接着,文章引入了大端字节序和小端字节序的概念,其中大端模式将高位字节存储在低地址,小端模式则相反。文章通过示例说明了两种存储模式的区别,并提供了一道题目来判断当前机器使用的字节序。最后,给出了一个简单的程序来检测系统是大端还是小端。
405 0
什么是“大小端字节序”存储模式?
|
存储 安全 Java
商汤的API如何进行鉴权?
商汤的API如何进行鉴权?
312 2
|
Python
Python中的and or not
Python中的and or not
756 1
|
存储 Kubernetes 容器
在k8S中,所支持的存储供应模式有哪些?
在k8S中,所支持的存储供应模式有哪些?
|
数据采集 人工智能 分布式计算
字节北大万卡集群成功搭建 MegaScale 系统
【2月更文挑战第13天】字节北大万卡集群成功搭建 MegaScale 系统
444 2
字节北大万卡集群成功搭建 MegaScale 系统
|
存储 NoSQL 关系型数据库
探索数据库技术的演变与前沿应用
一、引言 随着信息技术的迅猛发展,数据库技术作为信息存储、处理和管理的核心,不断推动着社会进步和数字化转型
|
数据采集 存储 自然语言处理
手把手教会你使用Python进行jieba分词
手把手教会你使用Python进行jieba分词
1142 0