curl 命令-接口测试
在linux/Unix 为代表的os上, 对后端进行测试, 模拟连接请求都会书写脚本
场景:
在Linux 上接口测试工具有ab, restClient, postman等, 最常用的方法是curl进行简单测试
curl是非常方便的Rest 客户端, 可以很方便的完成 Rest API测试, 利用curl对http协议发送Get/Post/Delete/Put, 同时还可以携带header 来满足Rest API 需求的特定条件
curl 常用的参数
-X/--request [GET|POST|PUT|DELETE|…] 使用指定的http method发出 http request
-H/--header 设定request里的header
-i/--include 显示response的header
-d/--data 设定 http parameters
-v/--verbose 輸出比较多的信息
-u/--user 使用者账号
-b/--cookie cookie 文件路径 使用cookie
linux command line 的参数, 同一个功能常会有两个完全相同的参数, 一个是比较短的参数, 另一个是比较长的参数
比如:
参数-X 和--request 两个功能是一样的 curl -X POST http://www.example.com or curl --request POST http://www.example.com/ 是完全相同的.
curl发送请求参数使用
设置header:
curl -i -H "Content-Type: application/json" http://www.baidu.com
设置HTTP parameter:
curl -X POST -d "param1:value1¶m2=value2" 或者 -d "param1=value1" -d "param2=value2"
session认证:
curl -X GET 'http://www.baidu.com/' --header 'sessionid:sessionid值'
使用cookie:
curl -i --header "Content-Type:application/json" -X GET -b ~/cookie.txt http://www.baidu.com
测试接口上传文件:我们用 -F "file=@__FILE_PATH__" 的方式,传输文件即可, 如果想看到详细的请求信息,可以加上 -v 参数
curl -i -X POST -F 'file=@/User/uploadFile.txt' -H "token:abc123" -v


HTTP基本认证(HTTP Basic Authentication):
curl -i -u username:password http://www.baidu.com/api/foo'
知识点扩展:
curl post请求, 数据可以采用xml 或者json格式, 并且可以发送本地xml和json文件
curl -H 'Content-Type:application/json' -X POST -d '{"name":"zhangsan"}' http://www.baidu.com/
curl -X POST -H 'content-type: application/json' -d /apps/jsonfile.json http://www.baidu.com/
curl -X POST -H 'content-type:application/xml' -d '<?xml version="1.0" encoding="UTF-8"?><name>zhangsan</name>' http://www.baidu.com/
可能你会觉得这样使用命令很烦,但是,当你仅仅需要简单测试一个接口,进行一些轻量的操作的,是顺手在终端中使用一个命令来得方便,还是打开一个图形工具来得方便呢? 多数情况下服务端系统没有装图形化工具.
今日推荐阅读文章精选推荐
咨询工作加微信

扫描二维码
欢迎自荐和推荐, 需要的微信推送简历!
请猛戳下面二维码了解更多

curl 命令-接口测试的更多相关文章
- 接口测试必学之curl命令
curl命令使用 curl命令 curl命令是服务器端调试接口最常用的命令,没有之一 curl测试GET接口 curl http://www.baidu.com url参数可以直接写到url中,此时u ...
- curl命令使用
curl命令可以用来构造http请求.参数有很多,常用的参数如下: 通用语法:curl [option] [URL...]在处理URL时其支持类型于SHELL的名称扩展功能,如http://www.j ...
- curl命令行使用
curl 命令使用 原文地址:http://blog.sina.com.cn/s/blog_4b9eab320100slyw.html 可以看作命令行浏览器 1.开启gzip请求curl -I h ...
- CURL命令报错:dyld: lazy symbol binding failed: Symbol not found: _SSL_load_error_strings解决办法
Mac OS X 10.11.6, curl 命令报错,错误如下: dyld: lazy symbol binding failed: Symbol not found: _SSL_load_erro ...
- CURL命令详解
curl命令是一个强大的网络工具,它能通过http,ftp等方式下载.上传文件.其中curl远不止这些功能,大家可以通过阅读手册获取更多的信息,类似的工具还有wget. curl命令使用了libcur ...
- limux curl命令
linux curl命令很强大: http://blog.chinaunix.net/uid-14735472-id-3413867.html curl是一种命令行工具,作用是发出网络请求,然后得到和 ...
- linux curl 命令详解,以及实例
linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道翻 ...
- 使用curl命令操作elasticsearch
使用curl命令操作elasticsearch 大岩不灿 发表于 2015年4月25日 浏览 7,426 次 第一:_cat系列_cat系列提供了一系列查询elasticsearch集群状态的接口.你 ...
- Linux之curl命令详解
url命令是一个功能强大的网络工具,它能够通过http.ftp等方式下载文件,也能够上传文件.其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息.类似的工具还有 ...
随机推荐
- MOCK API 的定义及实践(使用eolinker实现)
MOCK API 的定义 根据百度百科的定义,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象,mock对 ...
- Vue.js 学习笔记 第5章 内置指令
本篇目录: 5.1 基本指令 5.2 条件渲染指令 5.3 列表渲染指令 v-for 5.4 方法与事件 5.5 实战:利用计算属性.指令等知识开发购物车 回顾一下第2.2节,我们己经介绍过指令(Di ...
- SuperMap iObject入门开发系列七管线横断面分析
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线横断面分析功能是管线系统常见的一个分析功能,地下管线横断面分析的原理,是根据需求,在管线区域画一条横截面线,使其与 ...
- Android WebView 缓存
android很多情况是使用webView用来显示界面,但是webview的加载速度略慢,想让这个webview更快一些所以需要使用缓存,在没有更新的时候使用缓存技术来提高速度.总体来讲有两个方案可以 ...
- 在github上fork项目如何同步并解决冲突
在github上fork项目如何同步并解决冲突 在github上有些项目我们可能会进行一些自己功能的添加但是提交PR后作者基于设计或者其他原因考虑没有通过,但是这个功能又是我们必须的.这时我们就想自己 ...
- Iterm2/Mac自带终端工具快速进入你想进入的虚拟机教程
一.首先我们在终端本地要写一个登录的脚本,eg: 当然首先要touch login.sh 啦,下面就是脚本文件,比较low,大神勿喷,会更炫酷写法的小伙伴可以自己参考这个思路写,不会的直接复制就好啦 ...
- hadoop 笔记(hive)
//**********************************//安装配置1. 修改配置文件 1.1 在conf文件夹下 touch hive-site.xml <configurat ...
- 集群环境下Shiro Session的管理
问题引入 紧接上篇连接 在多台tomcat集群中,shiro管理的session需要放在Redis中,我们只需要增加redisSessionDAO的配置就行 <!-- 定义会话管理器的操作 表示 ...
- 这些好用的 Chrome 插件,提升你的工作效率
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Google ...
- 104 - kube-scheduler源码分析 - predicate整体流程
(注:从微信公众:CloudGeek复制过来,格式略微错乱,更好阅读体验请移步公众号,二维码在文末) 今天我们来跟一下predicates的整个过程:predicate这个词应该是“断言.断定”的意思 ...