龙空技术网

如果这个命令都不知道,你还玩什么linux?

流年似水timewentby 346

前言:

目前朋友们对“curl 断点续传”大约比较看重,朋友们都需要学习一些“curl 断点续传”的相关资讯。那么小编在网摘上网罗了一些对于“curl 断点续传””的相关知识,希望看官们能喜欢,咱们一起来学习一下吧!

零、 curl命令介绍

curl是用于在服务器之间传输数据的命令行工具,可以下载或者上传文件 、获取服务器内容、调用服务器接口等等。并且curl工具支持多种协议,包括:DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP.

用法:

curl [option] URL
一、下载并保存到文件

在控制台输出指定url的内容

curl 

将url中的内容保存到文件timewentby.com 文件中

curl  > timewentby.com

同时我也可以使用 -o 选项来保存指定的文件

效果同上

curl -o timewenby.html 

我们也可以使用 -O (大写的O),来保存文件不过保存的文件名为url最后的文件名或者会报错。

本案例中下载的文件名为882.html

curl -O 
二、静默输出

如果你不想curl显示处理的详情或者错误信息,请使用 -s 选项吧。

例如:我们使用获取一个不存在的域名

curl iloveyou520.top

使用 -s 以后

curl -s iloveyou520.top.com
三、 同时下载多个文件

只显示错误信息不显示其他任何详情(这是curl默认的放肆),可以使用 -s -S

curl -s -S 

同时下载两个文件 使用多个 -O (大写O)

curl -O  -O 

如果使用 -o(小写o),请在-o后面跟要保存的文件名。

四、处理URL转发

当我们访问的域名存在302转发的使用默认是访问不到的,可以使用-L 选择加入转发

curl -L timewentby.com
五、显示调试信息
$ curl -v timewetnby.com$ curl --trace info timewentby.com
六、 显示请求头信息

a . 只显示请求头信息

curl -I 

b. 既显示请求头信息同时也显示内容

curl -i 
七、 发送POST请求

-H : 指定发送header参数,这里是指定Content-Type:application/json

-X :执行请求方法,可以是GET、POST、PUT、DELETE等,默认为GET

-A 或者 --user-agent : 指定 user-agent,例如:-A "Mozilla/5.0 (Android; Mobile; rv:35.0) Gecko/35.0 Firefox/35.0"

--data 或者 -d : 指定发动给服务器的数据,如果使用--data或者-d,则默认发送方法为POST。 默认的 content-type application/x-www-form-urlen‐coded。

可以使用多个-d,例如 -d "name=zxy" -d "age=18",但是最后发送请求时会进行合并成类似 -d "name=zxy&age=18"。

-d @foobar : 代表请求参数从foobar文件中读取

-d - : 代表请求参数从标准输入读取

curl -H "Content-Type:application/json" -X POST --data '{"number":1,"phone":"136xxxxxx46","taskid":140}' 
八、 保存头部信息

-D 或者 --dump-header : 保存协议的头部信息到指定的文件

打印内容,并将http响应头信息保存的当前目录的head文件中

curl -D head  > timewentby.html
九、 保存cookie和读取cookie

-c 或者 --cookie-jar : 将cookie保存到指定的文件中,如果不存在cookie不会写入文件(文件不会保存)。

-b 或者 --cookie : 读取cookie,可以从-c 参数保存的文件中读取也可以从-D 参数保存的文件中读取。 也可以后跟 -b "name1=value1;name2=value2"格式的数据

保存cookie

curl -c "cookie" 

读取cookie

curl -b "cookie" 

或者

curl -b "cookie1=value1" 
十、 设置代理下载文件

-x 或者 --proxy : 设置下载代理。例如: -x "timewentby.com:3059" . 默认端口为1080.默认协议为http

curl -x "timewentby.com:3059" 
十一、 断点下载

--limit-rate : 限制下载最大速度/秒,例如:--limit-rate 10m 最大每秒下载10M。 可用的单位 b或者B,k 或者 K , m或者M,g或者G

-C : 断点续传

curl -C download_URL

或者

curl -C - download_URL
十二、 用户名密码验证下载文件
curl -u username:password download_URL
十三、 FTP服务器下载/上传/删除文件

a. FTP服务器下载文件

curl -u ftpuser:password -O 

或者

curl -u ftpuser:password -o index.html 

b. FTP服务器上传文件

# 上传单个curl -u ftpuser:password -T linuxtechi.txt  上传多个文件curl -u ftpuser:password -T "(linuxtechi1.txt linuxtechi2.txt)" 

c. FTP服务器删除文件

curl  -X 'DELE linuxtechi.zip' --user ftpuser:password
十四、 关于SSL证书验证、警告问题

a. 验证SSL证书

 curl --cacert new-ca.crt download_URL

b. 忽略SSL证书警告

curl -k download_url

标签: #curl 断点续传