构建高效工作环境 | Shell 命令篇:curl & ab 命令使用

Posted mickjoust

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建高效工作环境 | Shell 命令篇:curl & ab 命令使用相关的知识,希望对你有一定的参考价值。

curl

参数名说明
-A/–user-agent 设置用户代理发送给服务器
-b/–cookie <name=string/file>cookie字符串或文件读取位置
-c/–cookie-jar 操作结束后把cookie写入到这个文件中
-C/–continue-at 断点续转
-D/–dump-header 把header信息写入到该文件中
-d/–data HTTP POST方式传送数据
-e/–referer来源网址
-f/–fail连接失败时不显示http错误
-H/–header 自定义头信息传递给服务器
-o/–output把输出写到该文件中
-O/–remote-name把输出写到该文件中,保留远程文件的文件名
-r/–range 检索来自HTTP/1.1或FTP服务器字节范围
-s/–silent静音模式。不输出任何东西
-T/–upload-file 上传文件
-u/–user <user[:password]>设置服务器的用户和密码
-w/–write-out [format]什么输出完成后
-x/–proxy <host[:port]>在给定的端口上使用HTTP代理
-X/–request 指定什么命令
-v显示请求交互的详细信息
* 表示 curl 任务;
> 发送的信息;
< 返回的信息
-#/–progress-bar进度条显示当前的传送状态

curl使用示例

1.GET

curl -X GET http://xxx.xxx.xxx:8080/api?val=?
curl -X GET http://xxx.xxx.xxx:8080/api?val=? >> filename.log(获取文件数据保存到文件中)

2.POST

curl -X POST http://xxx.xxx.xxx:8080/api?val=? -d "username=mickjoust&&password=123456" 

如果post信息为json格式的数据,则可以使用-H参数来声明请求的Content-Type:

curl -X POST 127.0.0.1:8080/login  -H "Content-Type:application/json" -d '"username": "mickjoust", "password":"123456"'

上传文件:

curl -X POST http://localhost:8080/upload -F "uploadfile=@/Users/huangjingfeng/Documents/file.txt"

ab(apache benchmark)

参数名 说明
-n即requests,用于指定压力测试总共的执行次数。
-c即concurrency,用于指定的并发数。
-t即timelimit,等待响应的最大时间(单位:秒)。
-b即windowsize,TCP发送/接收的缓冲大小(单位:字节)。
-p即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。
-u即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-T即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。
-v即verbosity,指定打印帮助信息的冗余级别。
-whtml表格形式打印结果。
-i使用HEAD请求代替GET请求。
-x插入字符串作为table标签的属性。
-y插入字符串作为tr标签的属性。
-z插入字符串作为td标签的属性。
-C添加cookie信息,例如:“Apache=1234”(可以重复该参数选项以添加多个)。
-H添加任意的请求头,例如:“Accept-Encoding: gzip”,请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。
-A添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。
-P添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
-X指定使用的和端口号,例如:“126.10.10.3:88”。
-V打印版本号并退出。
-k使用HTTP的KeepAlive特性。
-d不显示百分比。
-S不显示预估和警告信息。
-g输出结果信息到gnuplot格式的文件中。
-e输出结果信息到CSV格式的文件中。
-r指定接收到错误信息时不退出程序。
-h显示用法信息,其实就是ab -help。

使用示例

ab -k -c 1000 -n 100000 http://localhost:8080/test

以上是关于构建高效工作环境 | Shell 命令篇:curl & ab 命令使用的主要内容,如果未能解决你的问题,请参考以下文章

构建高效工作环境 | 安装篇:Docker 部署基于 Nexus 3 的本地 Maven 私有仓库

Linux疑难杂症解决方案100篇-带你学习提速增效的几个常用 shell 命令

Linux命令 linux下高效编写shell脚本的10个建议

如何在bash shell中执行for循环生成的curl命令?

shell的简单批量curl接口脚本

Mac 终端之终极Zsh命令篇