linux工具之curl与wget高级使用

简介: linux工具之curl与wget高级使用

1、curl(文件传输工具)

常用参数如下:

-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

使用示例:

例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            #NAME和PWD是表单属性不同,每个网站基本都不同

# 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


相关文章
|
18天前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
9天前
|
存储 Prometheus 监控
Linux技术工具:bpftrace介绍
Linux技术工具:bpftrace介绍
17 7
|
12天前
|
监控 算法 Linux
探索Linux中的lz4命令:高效的数据压缩工具
**探索Linux中的LZ4工具:快速数据压缩。LZ4算法提供高速压缩与解压缩,适合实时数据处理。命令行工具如`lz4c`用于文件压缩(`lz4c file.txt compressed.lz4`)和解压缩(`lz4c -d compressed.lz4 decompressed.txt`)。特点是速度快、低内存占用,可选压缩级别。注意命令的实际形式取决于安装的实现,使用前应查阅文档。**
|
8天前
|
Linux 数据处理
Linux中的numfmt命令:数字格式化的强大工具
**numfmt命令在Linux中用于数字格式化,如转换进制、添加千位分隔符、处理字节单位。它支持从文件读取数字并能自定义分隔符、小数位数。例如:`numfmt 12345` 输出12,345(十进制),`numfmt -b 255` 输出11111111(二进制),`numfmt --to=iec 1000000` 输出976.6K(字节单位)。使用时注意选项组合及单位标准。**
|
12天前
|
Linux C++
c++高级篇(三) ——Linux下IO多路复用之poll模型
c++高级篇(三) ——Linux下IO多路复用之poll模型
|
12天前
|
缓存 监控 网络协议
c++高级篇(二) ——Linux下IO多路复用之select模型
c++高级篇(二) ——Linux下IO多路复用之select模型
|
14天前
|
Linux 数据处理
Linux命令`install`详解:不仅仅是安装工具
`install`命令在Linux中并非仅用于安装软件,而是用于精确复制文件和目录,设置权限及所有权。它能创建目标目录、处理符号链接并保留时间戳。例如,`install -m 644 source.txt /dest`用于复制文件并设置权限,`install -d -m 755 /dest/dir`创建目录。使用时要注意权限设置,避免误操作,并记录命令以备恢复。
|
15天前
|
Linux Shell 数据处理
探索Linux的`infokey`命令:终端键绑定的查询工具
探索Linux的`infokey`命令用于查询终端键绑定。它显示按键如何映射到命令,帮助用户理解终端行为。`infokey`与`ncurses`库配合,提供查询、清除和定制输出的功能。例如,`infokey -d`显示所有键绑定,`infokey -k "\e[11~"`检查F1键绑定。使用前确保安装了`ncurses`库,注意终端兼容性和权限问题。定期检查键绑定,备份配置,阅读文档以优化终端体验。
|
4天前
|
运维 Linux
探索 Linux 系统信息工具:uname
探索 Linux 系统信息工具:uname
7 0
|
6天前
|
安全 前端开发 Linux
深入了解Linux命令pinentry-curses:保护敏感输入的终端工具
`pinentry-curses`是GnuPG的一部分,用于CLI中安全输入密码或PIN。它利用curses库创建一个隐藏输入的终端界面,增强安全性。适用于GnuPG及其它需要安全输入的场景。特点包括安全隐藏输入、用户友好、灵活配置。常用参数如`--password`、`--title`等。在GPG加密文件时,可以结合`--pinentry-mode curses`使用。记得在安全环境下操作,勿明文显示密码,保持软件更新,并使用强密码。