前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用curl 命令模拟POST/GET请求的正确姿势

使用curl 命令模拟POST/GET请求的正确姿势

作者头像
明明如月学长
发布2021-08-31 15:53:25
42.4K0
发布2021-08-31 15:53:25
举报
文章被收录于专栏:明明如月的技术专栏

开发中常见的调用http的工具除了PostMan外,最常用的就数Curl命令了。

官方文档有非常非常详尽的介绍:https://curl.haxx.se/docs/httpscripting.html

如http协议的相关用法:https://curl.haxx.se/docs/httpscripting.html#The_HTTP_Protocol

最简练的手册:https://curl.haxx.se/docs/manual.html (超级推荐看这个)

本文简单介绍其中常用的一小部分。

一、GET请求

如最基本的GET请求:

使用curl发送GET请求的格式为:curl protocol://address:port/url?args

例如:

代码语言:javascript
复制
 curl https://curl.haxx.se

当然如果请求后端的GET接口,也可以得到查询的数据信息。

如果有参数直接拼接在后面即可如:

curl ‘http://127.0.0.1:8080/login?name=admin&passwd=12345678’

二、POST请求

POST请求的格式:curl -d "args" protocol://address:port/url

带参数的例子:

curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login

POST数组,比如后端参数为 String[] itemNames,如果想传入a,b,c,d四个元素,这么写:

代码语言:javascript
复制
curl -d 'itemNames=a&itemNames=b&itemNames=c&itemNames=d'  'http://127.0.0.1:8080/debug/xxxx/yyy'

三、多个请求一起发

3.1 多个url

也可以一行连发多个Get请求

代码语言:javascript
复制
curl http://url1.example.com http://url2.example.com

多个POST

代码语言:javascript
复制
curl --data name=curl http://url1.example.com http://url2.example.com

3.2 多个请求方法

先发HEAD请求然后发GET请求

代码语言:javascript
复制
curl -I http://example.com --next http://example.com

先发POST请求然后发GET请求

代码语言:javascript
复制
curl -d score=10 http://example.com/post.cgi --next http://example.com/results.html

4、表单格式

4.1 GET表单

代码语言:javascript
复制

对应的get请求

代码语言:javascript
复制
curl "http://www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK"

4.2 POST表单

代码语言:javascript
复制

请求方式

代码语言:javascript
复制
 curl --data "birthyear=1905&press=%20OK%20"  http://www.example.com/when.cgi

使用URL编码

代码语言:javascript
复制
curl --data-urlencode "name=I am Daniel" http://www.example.com

4.3 文件上传

代码语言:javascript
复制

对应命令:

代码语言:javascript
复制
curl --form upload=@localfilename --form press=OK [URL]

4.4 隐藏域

代码语言:javascript
复制

对应命令

代码语言:javascript
复制
curl --data "birthyear=1905&press=OK&person=daniel" [URL]

5、Cookies

基本用法

代码语言:javascript
复制
curl --cookie "name=Daniel" http://www.example.com

更多高级用法参见官方文档:

https://curl.haxx.se/docs/httpscripting.html

https://curl.haxx.se/docs/

如果觉得本文对你有帮助,欢迎点赞评论,欢迎关注我,我将努力创作更多更好的文章。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、GET请求
  • 二、POST请求
  • 三、多个请求一起发
    • 3.1 多个url
      • 3.2 多个请求方法
      • 4、表单格式
        • 4.1 GET表单
        • 4.2 POST表单
          • 4.3 文件上传
            • 4.4 隐藏域
            • 5、Cookies
            相关产品与服务
            命令行工具
            腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档