linux 之 curl 命令
curl 命令 是一个利用 URL 规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。
命令语法
命令选项
文件下载
curl 命令可以用来执行下载、发送各种 HTTP 请求,指定 HTTP 头部等操作
curl 是将下载文件输出到 stdout,将进度信息输出到 stderr,不显示进度信息使用--silent 选项。
下载文件到指定的文件小写-o
,大写 -O
保存文件和它的原始文件名
大写
-O
保存文件和它的原始文件名
--progress
显示进度条
断点续传
然后你的连接突然断开,你可以用以下命令继续下载
注意断点续传的参数是
-C
, 要自动续传的话要使用-C -
, 否则需要手工指定断点的字节位置.
伪造请求来源
参照页是位于 HTTP 头部中的一个字符串,用来表示用户是从哪个页面到达当前页面的,如果用户点击网页 A 中的某个连接,那么用户就会跳转到 B 网页,网页 B 头部的参照页字符串就包含网页 A 的 URL。也可以使用
--referer
选项指定参照页字符串.
-H
参数可以通过直接添加标头Referer
,达到同样效果
设置请求 header
curl 的带宽控制
用 curl 进行认证
使用 curl 选项 -u 可以完成 HTTP 或者 FTP 的认证,可以指定密码,也可以不指定密码在后续操作中输入密码:
只打印响应头
使用 curl 模拟 get 请求
直接显示网页内容
显示请求头和网页内容
直接显示网页内容
显示 get 请求全过程解析
·
使用 curl 模拟 post 请求
--data-urlencode
参数等同于-d
,发送POST
请求的数据体,区别在于会自动将发送的数据进行 URL 编码.
上传文本文件
post json 格式的数据
向服务器发送 Cookie
Cookie 写入到一个文件
上传二进制文件
-F
参数用来向服务器上传二进制文件。
上面命令会给 HTTP 请求加上标头 Content-Type: multipart/form-data ,然后将文件 123..png 作为 file 字段上传。
-F
参数可以指定MIME
类型。
上面命令指定 MIME 类型为 image/png,否则 curl 会把 MIME 类型设为 application/octet-stream。
-F
参数也可以指定文件名。
上面命令中,原始文件名为
123.png
,但是服务器接收到的文件名为rumenz.png
。
请求跟随服务器的重定向
-L
参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。
调试参数
-v
参数输出通信的整个过程,用于调试。
--trace
参数也可以用于调试,还会输出原始的二进制数据。
原文链接:https://rumenz.com/rumenbiji/linux-curl.html
微信公众号:入门小站
版权声明: 本文为 InfoQ 作者【入门小站】的原创文章。
原文链接:【http://xie.infoq.cn/article/5e16b02600c4c4f7b6b055bb9】。文章转载请联系作者。
评论