Linux中CURL的使用

举报
多米诺的古牌 发表于 2022/09/26 23:37:17 2022/09/26
【摘要】 我们在项目开发中,再编写好一个功能的接口后,可以通过postman或者apifox等可视化的工具来进行调用调试,但是我们也经常会碰到本地是无法访问服务器的情况(部署在内网等环境),这时候如果想要调用服务器上的接口方法,就需要在Linux环境下进行调用了,我们可以通过curl指令完成这一步的调用,本文中就对curl指令调用接口进行简单的归纳和总结。

1.Linux中的使用场景

我们在项目开发中,再编写好一个功能的接口后,可以通过postman或者apifox等可视化的工具来进行调用调试,但是我们也经常会碰到本地是无法访问服务器的情况(部署在内网等环境),这时候如果想要调用服务器上的接口方法,就需要在Linux环境下进行调用了,我们可以通过curl指令完成这一步的调用,本文中就对curl指令调用接口进行简单的归纳和总结。

2.curl命令的简介

curl是非常实用的命令行工具,它有这非常丰富的参数,使用curl命令可以用来完成与服务器之间的数据传输。我们可以根据需求的不同,添加对应的自带参数来完成我们想要的不同的效果。

在Linux环境中使用curl命令进行接口测试,其实是利用curl对http协议发送Get或者Post或者Delete或者Put请求,同时还可以携带header头部信息来满足接口的特殊需求。 

 3.curl命令的语法和参数

curl命令的语法是:curl[options] [URL…] 

curl命令的常用参数有:

-X/–request [GET|POST|PUT|DELETE|…] 使用指定的http method发出 http request 

-H/–header 设定request里的header 

-i/–include 显示response的header 

-d/–data 设定 http parameters 

-v/–verbose 输出比较多的信息 

-u/–user 使用者账号 

-b/–cookie 使用cookie 

-k/–insecure 允许忽略证书进行 SSL 连接 

 还有很多参数本文中没有列举出来可以通过在Linux中执行“man curl”命令查看更多的参数描述或者访问官网链接https://curl.se/docs/manpage.html 进行查看。

4.curl命令的使用

4.1 get请求

get请求,不带参数只会显示网页信息,用我们熟悉的百度来进行测试 调用curl的get命令curl http://www.baidu.com获取百度的网页信息 

cke_139151.png

get请求,增加“-i”参数,用来显示页面内容和头部信息,调用curl指令为:curl -i http://www.baidu.com,很明显跟上面比起来多出了头部的信息,并且还显示出了网页的信息。

cke_163611.pngget请求,带上“-I"或”–head"参数,用来仅仅显示请求头部信息,调用指令为curl -I http://www.baidu.com或者curl --head http://www.baidu.com,调用结果仅仅显示了头部信息,并没有显示网页信息等其他的东西,两种指令的调用结果都是一样的。

cke_196270.png

通过“-v"或”–verbose"参数来显示http请求的通信过程,调用指令为curl -v http://www.baidu.com,调用结果显示出了通信的过程以及网页的信息。

cke_234444.png通过“-X"或”–request"参数可以发送指定请求,调用的指令为curl -X GET http://xxx/调用的get接口或者curl --request GET http://xx/调用的get接口,通过这种方法可以实现Linux中的Get方法的调用。

还可以通过“-H"或”–header"参数来指定头部信息,调用指令为curl -H “xxx” http://www.baidu.com。

post请求,通过-d”参数可以指定发送的请求参数,调用指令为curl -d ‘参数1=值1’ -d ‘参数2=值2’-X POST http://xxx/需要调用的接口,在使用-d情况下,默认为发送post请求,并且可以省略不写-X POST 刚刚的指令就可以改为curl -d ‘参数1=值1’ -d ‘参数2=值2 http://xxx/需要调用的接口。

以上就是Linux中CURL的简单使用。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。