1. curl
curl 支持 HTTP、HTTPS、FTP 等协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、User-Agent、限速、文件大小、进度条等特征。
1.1 选项
--
-A 或 --user-agent <string>设置用户代理-b 或 --cookie <name=string/file>cookie 字符串或文件读取位置-c 或 --cookie-jar <file>操作结束后把 cookie 写入文件--basic使用 HTTP 基本验证-d 或 --data <data>POST 方式传送数据--data-ascii <data>以 ASCII 的方式 POST 数据--data-binary <data>以二进制的方式 POST 数据--tcp-nodelay使用 TCP_NODELAY 选项-e 或 --referer来源网址-E 或 --cert <cert[:passwd]>客户端证书文件和密码 (SSL)--cert-type <type>证书文件类型 (DER/PEM/ENG) (SSL)--key <key>私钥文件名 (SSL)--key-type <type>私钥文件类型 (DER/PEM/ENG) (SSL)--pass <pass>私钥密码 (SSL)--engine <eng>加密引擎使用 (SSL)--cacert <file>CA 证书 (SSL)--capath <directory>CA 路径--ciphers <list>SSL 密码-F 或 --form <name=content>模拟 HTTP 表单提交数据--form-string <name=string>模拟 HTTP 表单提交数据-H 或 --header <line>自定义头信息传递给服务器-I 或 --head只显示请求头信息-T 或 --upload-file <file>上传文件-o 或 --output把输出写到文件中-O 或 --remote-name把输出写到文件中,保留远程文件的文件名-s 或 --silent静默模式。不输出任何东西
1.2 示例
[root@VM_139_74_centos ~]
# curl -I www.163.com
HTTP/
1.1 200 OK
Expires: Sun,
06 May
2018 15:
22:
03 GMT
Date: Sun,
06 May
2018 15:
20:
43 GMT
Server: nginx
Content-Type: text/html
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent,Accept
Cache-Control: max-age=
80
Age: 44
X-Via:
1.1 PSfjqzdxgn15:
0 (Cdn Cache Server V2
.0),
1.1 chongdianxin121:
4 (Cdn Cache Server V2
.0)
Connection: keep-alive
X-Dscp-Value:
0
文件下载
curl 默认行为就是下载,浏览网页就是下载网页到本地,curl URL 会把这个 URL 对应的文件下载下来。但是 curl 会把下载的文件输出到 STDOUT 即终端窗口,可以通过 -o 或 -O 选项写入文件。
[root@VM_139_74_centos ~]
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 208k
100 208k
0 0 447k
0 --:--:-- --:--:-- --:--:--
448k
设置 cookie
使用 -b 读取 cookie 文件,或 --cookie <name=string/file> 选项来指定 cookie,多个 cookie 使用分号分隔:
curl http://www
.baidu.com --cookie
"user=root;pass=123456"
保存 cookie
使用 -c 或 --cookie-jar <file> 选项:
[root@VM_139_74_centos ~]
<!DOCTYPE html>
...
[root@VM_139_74_centos ~]
.baidu.com TRUE / FALSE
1525707455 BDORZ
27315
使用 -H 或 --header <line> 传递多个头部信息,例如:
curl -H
"Host:www.baidu.com" -H
"accept-language:en" www
.baidu.com
2. wget
wget 用于下载文件,支持断点续传。
2.1 选项
-a<日志文件>:在指定的日志文件中记录执行过程; -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; -b:进行后台的方式运行 wget; -B<连接地址>:设置参考的连接地址的基地地址; -c:继续执行上次终端的任务; -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on; -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔; -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令; -i<文件>:从指定文件获取要下载的URL地址; -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔; -q:不显示指令执行过程 -O:另存为指定名称的文件 -r:递归下载方式
2.2 示例
下载文件
[root@VM_139_74_centos ~]
# wget http://img02.tooopen.com/images/20160509/tooopen_sy_161967094653.jpg
--
2018-
05-
06 23:
42:
14-- http://img02
.tooopen.com/images/
20160509/tooopen_sy_161967094653
.jpg
Resolving img02
.tooopen.com (img02
.tooopen.com)...
61.240.138.246,
221.194.130.173
Connecting to img02
.tooopen.com (img02
.tooopen.com)|
61.240.138.246|:
80... connected.
HTTP request sent, awaiting response...
200 OK
Length: 213639 (
209K) [image/jpeg]
Saving to: ‘tooopen_sy_161967094653
.jpg.1’
100%[=====================================================================================================================================================>]
213,
639 --.-K/s
in 0.09s
2018-
05-
06 23:
42:
14 (
2.17 MB/s) - ‘tooopen_sy_161967094653
.jpg.1’ saved [
213639/
213639]
下载文件并重命名
[root
@VM_139_74_centos ~]
下载指定格式文件
wget
-r -A.pdf url
可以递归(-r 选项)下载一个网站的所有图片、视频、PDF 文件。
转载于:https://www.cnblogs.com/kika/p/10851624.html
相关资源:数据结构—成绩单生成器