curl发送get和post请求

Posted meitian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了curl发送get和post请求相关的知识,希望对你有一定的参考价值。

curl可以在命令行下请求http请求,上传下载文件

一、发送get或post请求

1、curl发送get请求:
curl http://baidu.com
 
效果如下:
技术分享图片
 
2、curl发送post请求
curl -d "pagenum=1&pagesize=2" http://localhost:8080/zz/transfer/getNearInfoList -X POST
 
说明:
-X 指定请求的方法,POST外还可以指定PUT等请求方法
-d 请求携带的参数,多个参数使用&分隔

二、请求携带header请求头

有些请求需要携带请求头,例如指定Content-type=application/json
-H 指定请求头,例如 -H "Content-type:application/json"
多个请求头传递多-H即可
 
借助charles获得包含请求头的请求信息的方法(请求上右键->Copy cURL Request)
技术分享图片
 
例如结果如下:
curl -H ‘Host: appqa.zhuaninc.com‘ -H ‘Upgrade-Insecure-Requests: 1‘ -H Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15 -H Accept-Language: zh-cn --compressed http://appqa.zhuaninc.com/appdatastructure/message/sendPushOrSysMsg?uid=71779969887312512&msgtitle=${pushtitle}&msgcontent=checkPushContent&pushimg=https://img.58cdn.com.cn/zhuanzhuan/images/iwantBuyTitle2x.png&msgprotocol=&envtype=0&msgtype=0&luodiye=%E6%99%AE%E9%80%9A%E7%B3%BB%E7%BB%9F%E6%B6%88%E6%81%AF

三、其他注意点

1、传递json格式的入参
-d可以指定入参为json格式,此时需要-H指定application/json的请求头
json格式入参:使用单引号‘‘括起json格式的入参,单引号中的内容是可以json解析的内容
curl -i -X POST -H "Content-type:application/json"-d ‘{"to_user”:"meitian","msg":"‘${errorMsg}‘"}‘ http://wxmsg.zhuaninc.com/api/message/send
 
2、使用变量替换curl请求中的部分内容
‘"${var}"‘
在双引号之外使用单引号,变量放在双引号内
 
例子如下:
curl -H Host: appqa.zhuaninc.com -H Upgrade-Insecure-Requests: 1 -H Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 -H User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15 -H Accept-Language: zh-cn --compressed http://appqa.zhuaninc.com/appdatastructure/message/sendPushOrSysMsg?uid=‘"$uid"‘&msgtitle=‘"$pushtitle"‘&msgcontent=checkPushContent
 
 

以上是关于curl发送get和post请求的主要内容,如果未能解决你的问题,请参考以下文章

curl发送get请求带param

curl发送get和post请求

CURL实现发送Get和Post请求(PHP)

curl实现发送Get和Post请求(PHP)

curl 模拟 http发送get/post请求

curl 发送get,post请求