curl命令常用参数
命令 常用 参数 CURL
2023-09-14 09:15:54 时间
curl命令常用参数
curl简介
参考地址:
https://wangchujiang.com/linux-command/c/curl.html
https://segmentfault.com/a/1190000023897623
curl命令 是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP
、HTTPS
、ftp
等众多协议,还支持POST
、cookies
、认证
、从指定偏移处下载部分文件、用户代理字符串
、限速
、文件大小、进度条等特征。
常用方法
将远程文件下载到本地-o并指定名称
# 下载远程文件
## curl -o 本地路径/文件名 远程url
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
指定请求方式-X
# -X post 指定post请求方式
curl -X post http://www.baidu.com/api
# -X get 指定get请求方式
curl -X get http://www.baidu.com/api
显示响应结果-v
# -v 显示响应结果
curl -v baidu.com
携带用户名/密码-u
# -u 输入账号密码
curl -u 用户名:密码 baidu.com/login
携带请求头-H
参考: https://www.cnblogs.com/netonline/p/8877324.html
# -H 指定自定义请求头
curl -H "请求头" baidu.com
# 采用-H参数设置http头中需要访问的域名,目标地址为ip地址
[root@kubenode1 ~]# curl -H 'Host:nginx-svc.me' http://172.30.200.22
查看服务端响应头 -i
# -i 查看服务端响应头
curl - i ip地址:端口号
# 示例
curl -i baidu.com
HTTP/1.1 200 OK
Date: Mon, 14 Feb 2022 14:31:38 GMT
Server: Apache
Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
ETag: "51-47cf7e6ee8400"
Accept-Ranges: bytes
Content-Length: 81
Cache-Control: max-age=86400
Expires: Tue, 15 Feb 2022 14:31:38 GMT
Connection: Keep-Alive
Content-Type: text/html
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
只显示http response的头信息-I
## -I 只显示http response的头信息
curl -I www.sina.com
自动跳转-L
参考: https://segmentfault.com/a/1190000023897623
有的网站是自动跳转的,使用 -L
参数,curl就会跳转到新的网址。
## -L 自动跳转到新的网址
curl -L www.sina.com
模拟dns解析–resolve
# 或者采用--resolve参数模拟dns解析,目标地址为域名
curl --resolve nginx-svc.me:80:172.30.200.21 http://nginx-svc.me
# 或者采用-H参数设置http头中需要访问的域名,目标地址为ip地址
curl -H 'Host:nginx-svc.me' http://172.30.200.22
## -s/--silent 静默模式。不输出任何东西
## -k/--insecure 允许不使用证书到SSL站点
## –resolve 模拟dns解析
curl -sk --resolve translate.googleapis.com:443:142.250.0.90
超时时间
使用curl时,有两个超时时间:一个是连接超时时间
,另一个是数据传输的最大允许时间
。
连接超时时间
用--connect-timeout
参数来指定;数据传输的最大允许时间
用-m
参数来指定。
例如:
# 连接超时时间为10秒,最大允许传输时间为20秒
curl --connect-timeout 10 -m 20 "http://XXXXXXX"
连接超时的话,出错提示形如:
curl: (28) connect() timed out!
数据传输的最大允许时间超时的话,出错提示形如:
curl: (28) Operation timed out after 2000 milliseconds with 0 bytes received
综合应用练习
# 远程触发Jenkins自动构建
## -X post 指定post请求方式
## -v 显示响应结果
## -u 输入账号密码
## -H 指定自定义请求头
curl -X post -v -u admin:admin -H "Jenkins-Crumb:88a12946e078" http://192.168.70.131:8080/jenkins/job/ProOne/build?token=自定义token
相关文章
- 常用Linux命令杂记
- 用bat,cmd批处理命令创建新文件和文件夹(含删除复制重命名)
- C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令
- 【荐】MongoDB基本命令大全
- Linux下history命令用法
- 将命令的输出保存到文件
- 常用PowerShell命令
- ps命令实战 Linux
- 重新点亮shell————测试命令[六]
- 用git命令上传一个项目到gitee(git 2.30.2)
- SHELL 004 -- mkdir命令常用方法
- Python内置的一个用于命令项选项与参数解析的模块argparse
- 通过shell命令编辑xml文件--sed工具
- 【网址收藏】linux wget 命令常用参数用法详解(附实例说明)
- 常用MySQL命令整理
- C#隐式运行CMD命令(隐藏命令窗口)
- nmcli命令常用方法和做网卡绑定 —— 筑梦之路
- 测试开发 | 软件测试最常用的 SQL 命令 :通过实例掌握基本查询、条件查询、聚合查询
- 金3银4求职季:测试人必备的超全linux命令大全
- mysql中常用的命令
- “有绣”程序猿最常用的linux命令合集
- PostgreSQL 常用管理命令
- Linux之Ubuntu:Ubuntu中常使用的快捷键命令(sudo/dpkg等文件处理相关/系统硬件相关/文件管理/文档编辑/磁盘管理/系统管理/备份压缩)、常用基础案例(图文教程)之详细攻略
- Docker 常用【基础|镜像】命令
- Matlab Tips: 高效实用的快捷命令
- 24 张图搞定 ICMP :最常用的网络命令 ping 和 tracert
- cat命令常用
- Win10终端命令查看已连接的wifi密码