curl命令的用法
curl
是一个非常强大的命令行工具,用于从服务器传输数据或向服务器传输数据。它支持许多协议(如 HTTP、HTTPS、FTP 等)。以下是使用 curl
发送不同类型的请求的基本方法。
在开发中,curl
可以替代postman
完成一些简单的前端模拟请求
发送请求
发送无状态的请求,参数类型指定的形式比较自由,url的双引号可加可不加,参数前缀指定也比较随意
1 | curl www.baidu.com |
1 | curl "http://localhost:5050/test-redis" |
1 | curl -X GET "http://localhost:5050/test-redis" |
1 | curl --request GET --url "http://localhost:5050/test-redis" |
携带token发送请求
1 | curl "http://localhost:5050/api/profile" -H "Authorization: <token>" |
1 | curl --request GET --url "http://localhost:5050/api/profile" --header "Authorization: <token>" |
模拟一个POST请求
通过数据的方式
1
curl -X POST -d "username=admin&password=123" "http://localhost:5050/api/login"
通过表单的方式(一般用于PUT请求)
1
curl -X POST "http://localhost:5050/api/login" -d "username=admin" -d "password=123"
通过查询参数或路径参数的方式
1
curl -X POST "http://localhost:5050/api/login?username=admin&password=123"
通过 Json 的方式(我没有测试成功,推测是Windows 命令行解释器的解析有问题)
1
curl -X POST "http://localhost:5050/api/login" -H "Content-Type: application/json" -d '{"username":"admin", "password":"123"}'
1
curl --request POST --url 'http://localhost:5050/api/login' --header 'content-type: application/json' --data "{"username":"admin", "password":"123"}"
模拟一个DELETE请求
1 | curl -X DELETE http://localhost:5050/api/logout?userId=666 |
1 | curl --request DELETE --url http://localhost:5050/api/logout?userId=666 |
下载文件
通过 -O
参数可以保存下载的文件到当前目录,通过 --connect-timeout
参数来设置连接的超时时间(以秒为单位)
1 | curl -O https://api.ee123.net/img/bingimg/dayimg.jpg --connect-timeout 5 |
1 | curl -O http://example.com/file.zip --connect-timeout 5 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 代码港湾!
评论