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

本文对比了curl与wget这两个命令行工具的特点,详细介绍了curl命令的使用方法,包括GET和POST请求的语法,以及如何处理URL中的特殊字符和大数据传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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、付费专栏及课程。

余额充值