前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux使用 curl 命令

linux使用 curl 命令

作者头像
chenchenchen
发布2020-07-01 10:31:03
7.2K0
发布2020-07-01 10:31:03
举报
文章被收录于专栏:chenchenchenchenchenchen

curl 模拟 GET\POST 请求,以及 curl post 上传文件

一般情况下,我们调试数据接口,都会使用一个 postman 的工具。在命令行中,我们使用 curl 这个工具。

下面,我们来简单的说一下,curl 的一些常见使用方法:

curl GET 请求

curl命令 + 请求接口的地址。

代码语言:javascript
复制
curl localhost:9999/api/daizhige/article

如上,我们就可以请求到我们的数据了,如果想看到详细的请求信息,我们可以加上 -v 参数

代码语言:javascript
复制
curl localhost:9999/api/daizhige/article -v

操作结果如下图所示:

curl get 请求
curl get 请求

curl POST 请求

我们可以用 -X POST 来申明我们的请求方法,用 -d (或者--data)参数,来传送我们的参数。

所以,我们可以用 -X PUT 和 -X DELETE 来指定另外的请求方法。

代码语言:javascript
复制
curl localhost:9999/api/daizhige/article -X POST -d "title=comewords&content=articleContent"

如上,这就是一个普通的 post 请求。

但是,一般我们的接口都是 json 格式的,这也没有问题。我们可以用 -H 参数来申明请求的 header

代码语言:javascript
复制
curl localhost:9999/api/daizhige/article -X POST -H "Content-Type:application/json" -d '{"title":"comewords","content":"articleContent"}'

so, 我们可以用 -H 来设置更多的 header 比如,用户的 token 之类的。

同样,我们可以用 -v 来查看详情。

curl POST 请求
curl POST 请求

查看返回的 json 数据 - 安装 jq 工具

  • MacOS 用户在命令行输入如下命令安装

brew install jq

  • Ubuntu\Debian\Deepin 命令

sudo apt install jq

  • CentOS\RedHat 命令

sudo yum install jq

  • Arch 命令

sudo pacman -S jq

curl POST 上传文件

上面的两种请求,都是只传输字符串,我们在测试上传接口的时候,会要求传输文件。

我们用 -F "file=@__FILE_PATH__" 的请示,传输文件即可。命令如下:

代码语言:javascript
复制
curl localhost:8000/api/v1/upimg -F "file=@/Users/fungleo/Downloads/401.png" -H "token: 222" -v

执行结果如下图所示:

curl POST 上传文件
curl POST 上传文件

curl 上传多个文件、设置 cookies 命令

curl http://localhost:3000/api/v1/upload -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -F 'file=@/Users/fungleo/Downloads/空心五角星.png' -H 'Cookie:token=68fed7e53110f7c4e095d932274a56ea' 1 如上,这是一个上传多个文件的命令,和上传单个文件是没有什么太大区别的,就是直接写多个文件即可。设置 cookies 和设置普通的 header 并没有什么太大的区别,如果需要设置多个 cookie 值,可以用 ; 号进行分割。加上 -s | jq 后缀,返回结果就十分优雅

curl 上传多个文件、设置 cookies 命令 使用 jq 更优雅的展示
curl 上传多个文件、设置 cookies 命令 使用 jq 更优雅的展示

ctrl + r 查找历史命令记录

当我们在命令行执行了某条命令之后,实际上这条命令就已经被系统记录下来了。下次想要再调用这个命令,可以方便的通过 ctrl + r 快捷键来进行查找。

在命令行中使用 ctrl + r 激活搜索,然后输入关键词。如下图所示:

ctrl + r 查找历史命令记录
ctrl + r 查找历史命令记录

如果搜索出来的结果有多条,当前的这条不是你想要的,继续按 ctrl + r 快捷键,可以切换搜索结果,如下图所示:

ctrl + r 查找历史命令记录
ctrl + r 查找历史命令记录

可以看到,在不断的切换搜索结果了。

确定了某条历史执行命令之后,可以按 回车键 立即执行该命令,也可以按一下 ➡️ 右方向键,然后退出搜索模式,进而修改这条命令,然后继续执行。

通过 ctrl + r 快捷键,可以非常方便的让我们重复调试某些接口。

与 chrome 浏览器 配合,快速调试某接口

我们前端一般在浏览器中调试我们的开发项目,当遇到某个接口返回数据与我们预期不一致时,在浏览器控制台中,我们可以看到具体的返回结果,如下图所示

浏览器控制台
浏览器控制台

当接口修复后,想要观察结果,通常是通过刷新页面。如果是简单的操作还好,如果是需要多个步骤才能到达的页面,我相信你的心情会很不好。

这个时候,这个技巧就十分有帮助了!我们在有问题的接口名上右击,然后点击 Copy,再点击 Copy as cURL 就可以把这个请求转化为 curl 命令,然后到命令行终端中执行即可。

与 chrome 浏览器 配合,快速调试某接口
与 chrome 浏览器 配合,快速调试某接口

参考

更多 curl 的使用方法,以及参数说明,可以在系统中输入 man curl /curl -help来进行查看。或者,点击 curl man 查看网页版的介绍(https://curl.haxx.se/docs/manpage.html)

curl 模拟请求:https://blog.csdn.net/fungleo/article/details/80703365

linux 或 mac 命令行更优雅的使用 curl 命令:https://fungleo.blog.csdn.net/article/details/105794798

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • curl 模拟 GET\POST 请求,以及 curl post 上传文件
    • curl GET 请求
      • curl POST 请求
        • curl POST 上传文件
          • curl 上传多个文件、设置 cookies 命令
            • ctrl + r 查找历史命令记录
              • 与 chrome 浏览器 配合,快速调试某接口
              • 参考
              相关产品与服务
              命令行工具
              腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档