Linux中使用curl命令发送带参数的get请求和post请求

转载链接: https://blog.csdn.net/finghting321/article/details/105733140

1. curl与wget 命令的区别

相似之处:wget 和 cURL 都可以下载内容,都可以向互联网发送请求并返回请求项,也可以进行 HTTP POST 请求,它们都是命令行工具,可以设计成可脚本化应用到bash脚本中。

wget特点:简单直接、可直接下载程序、支持递归下载、使用方便。

curl特点:多功能工具、支持多种网络协议、安全、支持 gzip 压缩技术。
选择使用 curl还是使用 wget?

根据实际情况而定。如果想快速下载并且没有担心参数标识的需求,使用轻便有效的 wget。如果你想做一些更复杂的使用,直觉告诉你,你应该选择 curl。

curl可以理解为命令行网页浏览器,能处理好多事情,并且支持多种网络协议,可交互访问在线内容。不同的是curlL 不会渲染接收到的相应信息。

这里主要说明下curl命令发送带参数的get和post请求如何使用。

2. curl命令Get请求

语法:curl命令 + 请求接口的地址

# curl http://baidu.com

在这里插入图片描述如果需要,可根据情况进行重定向 curl http://baidu.com > page.hrml

注意:
问题:如果请求的URL含有&转义字符,会提示参数不对,报错?

# crul http://172.16.134.9:1153/mp_mcss/vcn-image.do?mode=2&fileUuid=92dc1c25980d4a1c9b59d928a092e478 > 2.jpg

原因:由于URL中&不转义,curl请求时会分开访问。

解决办法:

1) URL连接上加上双引号

# crul "http://172.16.134.9:1153/mp_mcss/vcn-image.do?mode=2&fileUuid=92dc1c25980d4a1c9b59d928a092e478"  > 2.jpg

2) URL连接&前加\ 就可以取消转义

可参考这篇博客

3. curl命令Post请求
举例:带header和body的POST请求

# curl  -v  -XPOST -H "Content-Type:application/json"  http://172.24.7.63:36963/VIID/MotorVehicles -d  ' {"DataType" : "Face"} '

说明:

-v 详细的请求信息

-XPOST 指定请求凡是为POST请求

-H 指定请求头部

-d 指定传送数据为json格式
在这里插入图片描述
注意:

  1. 如果传送json数据过大,由于数据长度限制会出现curl失败?
    解决方案:将json写成文件形式报错,例如data.json
# curl  -v  -XPOST -H "Content-Type:application/json"  http://172.24.7.63:36963/VIID/MotorVehicles -d  @data.json

在这里插入图片描述

至于,DELETE和PUT请求可参考网上资源。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值