构建高效工作环境 | 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,指定打印帮助信息的冗余级别。 |
-w | 以html表格形式打印结果。 |
-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个建议