curl 模拟 GET\POST 请求,以及 curl post 上传文件「建议收藏」

curl 模拟 GET\POST 请求,以及 curl post 上传文件「建议收藏」curl模拟GET\POST请求,以及curlpost上传文件一般情况下,我们调试数据接口,都会使用一个postman的工具,但是这个工具还是有点大了。事实上,我们在调试一些小功能的时候,完全没有必要使用它。在命令行中,我们使用curl这个工具,完全可以满足我们轻量的调试要求。下面,我们来简单的说一下,curl的一些常见使用方法:curlGET请求cu…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

一般情况下,我们调试数据接口,都会使用一个 postman 的工具,但是这个工具还是有点大了。事实上,我们在调试一些小功能的时候,完全没有必要使用它。在命令行中,我们使用 curl 这个工具,完全可以满足我们轻量的调试要求。

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

curl GET 请求

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

curl localhost:9999/api/daizhige/article

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

curl localhost:9999/api/daizhige/article -v

操作结果如下图所示:

curl get 请求

curl POST 请求

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

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

curl localhost:9999/api/daizhige/article -X POST -d "title=comewords&content=articleContent"

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

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

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 上传文件

上面的两种请求,都是只传输字符串,我们在测试上传接口的时候,会要求传输文件,其实这个对于 curl 来说,也是小菜一碟。

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

curl localhost:8000/api/v1/upimg -F "file=@/Users/fungleo/Downloads/401.png" -H "token: 222" -v

执行结果如下图所示:

curl POST 上传文件

更多 curl 的使用方法,以及参数说明,可以在系统中输入 man curl 来进行查看。或者,点击 curl man 查看网页版的介绍。

所以,我们可以用 man 命令名称 来查看更多的工具的介绍。当然,一些非主流的命令行工具,应该是没有相关的介绍的。

可能你会感觉用这些命令才进行操作,感觉破烦。但是,当你仅仅需要请求一个接口,进行一个轻量的操作的时候,是顺手在终端中输入一个命令来得方便,还是打开一个重型的图形工具来得方便呢?

命令行是可以保存历史记录的,我们使用 ctrl+r 快捷键可以进行历史命令搜索,这样,我们可以非常方便的重复进行命令调试。

我现在已经养成了在终端中写代码,跑代码,以及调试代码的习惯,我感觉这样非常方便。

当然,我的想法不一定是正确的,但是依然希望,能够对看官有所帮助。

本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。


2020年04月27日补充

我没想到这篇博文有这么大的阅读量。文中所表述的 curl 的使用虽然关键点都已经涉及到了,但是如何更加优雅的使用,并没有涉及。如果你对这部分内容感兴趣,可以阅读我的这篇博文 《linux 或 mac 命令行更优雅的使用 curl 命令,以及命令行常用的快捷键说明》,相信各位看官在看过这篇文章之后,对于 curl 命令的使用,会更加的舒服、优雅哦!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180668.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rabbitmq使用案例_RabbitMq

    rabbitmq使用案例_RabbitMqRabbitMQ使用实践参考网站:http://blog.chinaunix.net/topic/surpershi/http://blog.csdn.net/lwkcn/article/details/25086467http://snoopyxdy.blog.163.com/blog/static/60117440201352615631930/1、简介  MQ

    2022年9月27日
    3
  • 去重和简单遍历

    去重和简单遍历去重和简单遍历

    2022年4月24日
    51
  • 链路层链路发现协议(LLDP)讲解「建议收藏」

    链路层链路发现协议(LLDP)讲解「建议收藏」一、LLDP协议概述 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加自己特有的功能,这就导致在一个网络中往往会有很多具有不同特性的、来自不同厂商的设备,为了方便对这样的网络进行管理,就需要使得不同厂商的设备能够在网络中相互发现并交互各自的系统及配置信息。 LLDP(LinkLayerDiscoveryProtocol,链路层发现协

    2022年5月5日
    43
  • SDN和NFV对OSS/BSS的影响[通俗易懂]

    SDN和NFV对OSS/BSS的影响

    2022年3月4日
    36
  • Oracle中文全文索引[通俗易懂]

    环境Oracle9.0.2 Oracle全文索引的基本知识一、历史背景Oracle数据库的全文检索技术已经非常完美,OracleText使Oracle9i具备了强大的文本检索能力和智能化的文本管理能力。OracleText是Oracle9i采用的新名称,在Oracle8/8i中它被称作OracleinterMediaText,在Oracle8以前它的名称是Oracle

    2022年4月11日
    38
  • echarts饼图labelLine颜色_旭日图怎么做

    echarts饼图labelLine颜色_旭日图怎么做前言如果你想要用较少的代码实现比较酷炫的数据统计表,echarts是值得你考虑的一种实现方式。官网提供了很多实例供参考。并且配置项手册很详细,几乎囊括了所有的绘图需求。但是再全的配置,偶尔也会有不满足需求的时候。最近在开发过程中就遇到了一个比较头疼的问题。先看下UI效果dy20180512171652810.jpg思路拿到需求,先看echarts的配置手册,很容易想到使用旭日图来做。但是还没等大致…

    2022年9月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号