前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >curl命令行发送POST!GET请求

curl命令行发送POST!GET请求

作者头像
leader755
发布2022-10-04 19:03:20
2.8K0
发布2022-10-04 19:03:20
举报

背景

curl 命令是一个利用 URL 规则在命令行下工作的文件传输工具。使用一种受支持的协议,从远程服务器传输数据,或将数据传输到远程服务器。默认情况下,已安装在 macOS 和大多数 Linux 发行版上。curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。在进行 web 后台程序开发测试过程中,常常会需要发送 url 进行测试,使用 curl 可以方便地模拟出符合需求的 url 命令。

1.curl 发送 GET 请求:

代码语言:javascript
复制
#语法格式
curl protocol://address:port/url?args

#示例:
curl http://127.0.0.1:8080/login?admin&passwd=12345678  # 带参数请求,参数用&连接

2.curl 发送 POST 请求:

代码语言:javascript
复制
#语法格式:
curl -X POST [options] [URL]

# 使用该-F选项时,curl使用的默认Content-Type是“multipart/form-data”,以key=value配对形式
curl -X POST -F 'name=Jason' -F 'email=jason@example.com' http://127.0.0.1:8000/login

# 使用-d选项,可以使用&符号对发送数据进行合并
curl -X POST -d 'name=Jason&email=jason@example.com' http://127.0.0.1:8000/login

# 使用-H选项,指定Content-Type为application/json发送JSON对象
curl -X POST -H "Content-Type:application/json"  -d '{"user": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login  # 通过-d指定json data内容

# 文件上传,需在文件位置之前添加@符号
curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload

3.curl 发送请求使用变量

get 请求:

代码语言:javascript
复制
appToken="AT_Lfdi5s7WWu"
time=`date +%Y%m%d%H%M`
content="gitee构建成功$time" #content字段的的字符长度限制为10 个
uid="UID_43224fdssdssds"
echo $content

curl "https://wxpusher.zjiecode.com/api/send/message/?appToken=$appToken&uid=$uid&content=$content"

post 请求默认是:Content-Type:application/x-www-form-urlencoded

代码语言:javascript
复制
appKey="TKtXLPUuGkfaRHA"
appSecret="aArwoGW9dYXBGL79oR8Ns3ZXCkPcGFdb"
suffurl="v1/gghq/launch"
time=`date +%s`
sign=`java -Xbootclasspath/a:/home/webuser/gogoal_platform/ggopenapi/lib/snakeyaml.jar -jar ./ggsign/ggsign.jar  "$appKey" "$appSecret" "$time" "$suffurl"`
#echo "$sign"

curl -X POST -d "app_key=$appKey&time_stamp=1512612452&sign=U7ETnXEaPUu1jNMq4jKf00fiGSM%3D" http://ggservice.sandbox.gofund.com.cn/v1/gghq/launch

post 请求采用 json:Content-Type:application/json

代码语言:javascript
复制
appToken="AT_Lfdi5s7WWumGCudau"
verifyPay=false #是否验证订阅时间,true表示只推送给付费订阅用户,false表示推送的时候,不验证付费,不验证用户订阅到期时间,用户订阅过期了,也能收到。
contentType=1 #消息摘要,显示在微信聊天页面或者模版消息卡片上,限制长度100,可以不传,不传默认截取content前面的内容。
topicIds=["UID_muONkLQuN9FOvsjC3OBBaSo0gTiq"]
uids=["UID_muONkLQuN9FOvsjC3OBBaSo0gTiq"]
time=`date +%Y%m%d%H%M`
content="gitee构建成功$time"
summary="gitee构建成功$time"
url="kkkkk"
echo $content

curl -H "Content-type: application/json" -X POST -d  {"appToken":"$appToken","verifyPay":"$verifyPay","contentType":"$contentType","topicIds":"$topicIds","uids":"$uids","content":"$content","summary":"$summary","url":"$url"} https://wxpusher.zjiecode.com/api/send/message
代码语言:javascript
复制
appToken="AT_Lfdi5s7WWumGCudauqIw"
verifyPay=false
contentType=1
topicIds=["UID_muONkLQuN9FOvsjC3OBBaSo0gTiq"]
uids=["UID_muONkLQuN9FOvsjC3OBBaSo0gTiq"]
time=`date +%Y%m%d%H%M`
content="$time"
summary="$time"
url="wwww"
echo $content

curl -X POST -H "Content-Type: application/json" -d '{"appToken":"'$appToken'","verifyPay":"'$verifyPay'","contentType":"'$contentType'","topicIds":"'$topicIds'","uids":"'$uids'","content":"'$content'","summary":"'$summary'","url":"'$url'"}' https://wxpusher.zjiecode.com/api/send/message
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 1.curl 发送 GET 请求:
  • 2.curl 发送 POST 请求:
  • 3.curl 发送请求使用变量
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档