linux命令curl

使用curl,发送post请求,带cookie、token

curl -# --request POST https://域名:port/xxx/xxx/xxx --header "Content-type: application/json;charset=UTF-8" --header "token:xxxxxxxxxxxxxxxxx" --header "Cookie:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; xxxx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" --data '{"uuid":"xxxxxxxxxxxxxxxxxxxxxxxxx","type":0}'

使用curl,发送POST请求,参数以文件形式

curl --request POST  --header "Content-type: application/json;charset=UTF-8" --data @content.txt  --url "http://ip:port/xx/yy"

curl --location --request POST 'http://ip:port/xx/yy' --header 'Content-Type: application/json' --data @content.txt

使用curl,测试接口的一般响应时间

复制代码
#!/bin/bash

echo "`date "+%Y-%m-%d %H:%M:%S %N" | awk '{print $1 " " $2 " " substr($3,0,3)}'` start..."

curl --location --request POST 'http://ip:port/xx/yy' --header 'Content-Type: application/json' --data @content.txt

echo ""
echo "`date "+%Y-%m-%d %H:%M:%S %N" | awk '{print $1 " " $2 " " substr($3,0,3)}'` finish..."
echo ""
复制代码

使用curl下载文件

 

curl -# --output xxx.tar.gz "https://xxxxxxxxxxxxxxxxxxxxxxxxxxx?aaa=xxxxxxxxxxxxxxxxxxx&bbb=xxxxxxxxxxxxxxxxxx"
下载和显示下载进度

 

curl 下载时候,如何设置断点续传

使用curl进行文件下载时,可以通过设置断点续传来保证在下载中途发生中断或失败后能够从上次中断的地方恢复下载,避免重新下载整个文件。下面是设置curl断点续传的步骤:
首先,使用curl命令下载文件,同时使用“-C -”选项来启用断点续传功能,如下所示:
curl -C - -o filename http://example.com/file.tar.gz
其中,-C选项表示断点续传,-表示从上次中断的位置开始下载,-o选项指定要保存的文件名,http://example.com/file.tar.gz是要下载的文件的URL。

如果下载中途中断,可以再次运行上述curl命令,curl会检查本地文件的大小,并从上次下载中断的位置继续下载,直到文件下载完成。
注意,curl断点续传功能的前提是服务器支持Range头部,这意味着服务器必须能够处理并返回Range头部请求,否则curl无法使用断点续传功能。此外,如果要使用curl断点续传功能,建议在下载大文件时使用此功能,以避免出现网络中断或其他问题导致下载失败时需要重新下载整个文件的情况。

如何判断服务器是否支持Range头部呢

复制代码
要判断服务器是否支持Range头部,可以使用curl命令发送一个支持Range头部的HTTP请求,并检查服务器是否返回206 Partial Content状态码。

可以使用以下curl命令进行测试:
curl -r 0-10 -I http://example.com/file.txt
其中,-r选项指定请求的Range范围,0-10表示请求文件的前11个字节。-I选项表示仅返回HTTP头信息,而不下载文件。http://example.com/file.txt是要下载的文件的URL。

如果服务器支持Range头部,curl会返回206 Partial Content状态码,并显示Content-Range头部信息,例如:

HTTP/1.1 206 Partial Content
Content-Length: 11
Content-Range: bytes 0-10/1000
其中,Content-Range头部信息表示服务器返回的是请求的范围内的部分内容。

如果服务器不支持Range头部,curl会返回200 OK状态码,并下载完整的文件。
复制代码

 

posted @   szcj~  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示