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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visdom总结[通俗易懂]

    visdom总结[通俗易懂]1叫做env=environment2叫做win=window

    2022年6月17日
  • 简述mybatis框架与hibernate框架的区别_hibernate 性能

    简述mybatis框架与hibernate框架的区别_hibernate 性能hibernate与mybatis的区别和特点hibernate是全自动,而mybatis是半自动。hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理。hibernate数据库移植性远大于mybatis。hibernate通过它强大的映射结构和hql语言,大大降低了对象与数据库(oracle、mysql等)的耦合性,

    2022年9月4日
  • 基本数据类型「建议收藏」

    基本数据类型「建议收藏」基本数据类型

    2022年4月20日
  • bootstrap-fileinput使用手册

    bootstrap-fileinput使用手册一、准备1、插件下载地址:https://github.com/kartik-v/bootstrap-fileinput/下载后的压缩包解压文件夹内容如下:  js:插件核心js代码,引用fileinput.min.js/fileinput.js即可,默认插件语言为英文,如需要中文需要引用js/locales/zh.js(其他语言引用相应的js文件) …

    2022年6月7日
  • java.lang.ClassNotFoundException: org.springframework.boot.Bootstrapper

    java.lang.ClassNotFoundException: org.springframework.boot.Bootstrapper错误13:20:03.686[main]ERRORorg.springframework.boot.SpringApplication-Applicationrunfailedjava.lang.NoClassDefFoundError:org/springframework/boot/Bootstrapper atjava.lang.ClassLoader.defineClass1(NativeMethod) atjava.lang.ClassLoader.defineCla

    2022年7月20日
  • java实现敏感词过滤「建议收藏」

    java实现敏感词过滤「建议收藏」项目中的需要,对用户的输入进行敏感词的过滤,使用的是DFT算法,敏感词可以从数据库进行读取和配置.把代码整理了一下,可以直接使用完整工程下载地址:https://download.csdn.net/download/a897180673/10278921一共三个类,1个测试类,1个从数据库加载敏感词类,一个是实现DFT算法的类,具体的算法可以去研究.首先是从数据库加…

    2022年5月29日

发表回复

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

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