Linux中使用curl命令发送带参数的get请求和post请求
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请求可参考网上资源。
Linux中使用curl命令发送带参数的get请求和post请求相关推荐
- linux中shell curl命令获取http状态码--------强大的网络传输工具
文章来源:http://dbajun.iteye.com/blog/1813801 curl命令详解:http://blog.sina.com.cn/s/blog_94cf845f0102w8vt.h ...
- 使用am命令发送带参数的广播和服务
时候使用adb命令发送广播测试或者启动某个服务会更有效率. 1.使用am broadcast命令发送广播 命令如下: adb shell am broadcast -n "com.auton ...
- linux中find查找命令的mtime参数使用方法说明
mtime的含义 mtime查询的是文件last modified时间,其中最让人迷惑的就是参数 +N . N . -N 三个参数的意义了. 实例讲解 N * 24 +1 内表示 1 * 24 +24 ...
- linux curl命令 post,linux环境下使用curl命令设置Header参数发送post请求
linux环境下使用curl命令设置Header参数发送post请求 linux环境下使用curl命令设置Header参数发送post请求 案例1:curl命令发送post请求并且获取返回结果以及响应 ...
- linux中kill命令默认发出的信号,linux中的kill命令的详细解释
linxu下的kill命令主要功能是用来杀死进程的.下面由学习啦小编为大家整理了linux的kill命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的kill命令的详细解释 1.命令格式 ...
- linux一条命令添加用户并设置密码,linux中如何通过命令行来添加用户并设置密码...
linux中如何通过命令行来添加用户并设置密码 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 LINUX中如何通过命令行来添加用户 ...
- linux系统export,Linux入门进阶 - 如何在Linux中使用export命令
原标题:Linux入门进阶 - 如何在Linux中使用export命令 来自: Linux迷 链接:https://www.linuxmi.com/linux-export.html Linux ex ...
- 在Linux中使用cURL进行HTTP POST和GET [复制]
本文翻译自:HTTP POST and GET using cURL in Linux [duplicate] This question already has an answer here: 这个 ...
- linux命令kill_什么是Linux中的kill命令?
linux命令kill Need to kill a running process? The kill command in Linux is built for just that. No ope ...
最新文章
- 宏基因组-微生物组文章目录索引(1803)
- 设计模式系列·王小二需求历险记(一)
- Confluence 6 附件存储文件系统的分级
- VisualSVNServerTools(在线修改VisualSVN密码)
- TortoiseSVN搭建本地版本库及简单操作使用
- 21天Jenkins打卡day8-配置SSH远程服务器
- 安装GIT,集成到Powershell中
- python循环语句打印矩形_pycharm软件python的一些循环语句的用法
- 射频电路设计中的热量分析
- 设置单行文本溢出省略导致不能自适应宽度,white-space: nowrap
- 数据挖掘 文本分类(二)搜集中文语料库与ICTCLAS分词
- 一文读懂李洪元被捕251天:先后涉及三项罪名 录音成关键证据
- 4和2大于号小于号箭头那边_大于号小于号顺口溜
- Microchip具有SDI和SQI接口串行SRAM存储器23LC512
- 获取Jenkins项目名称
- 常用诊疗操作技术题库【1】
- Expression is not assignable
- APP开放源码第一弹《纳豆》
- 《连线》杂志:Web已死 Internet永生(全文),互联网营销
- TF:TF定义两个变量相乘之placeholder先hold类似变量+feed_dict最后外界传入值