JMeter5.x Simpler(取样器) - HTTP Request

目录

概念

Http协议

常见Http请求方法

常见Http请求头

试试吧


概念

        该取样器允许你给服务器发送http/https请求。如果想熟练掌握HTTP Request,需要对http协议有所理解。

Http协议

        互联网的本质就是一系列的网络协议,基于OSI模型,大致分为7层。Http协议属于应用层,是基于TCP/IP协议进行通信的。

        目前主流的还是Http1.1(https://www.ietf.org/rfc/rfc2616.txt) 。

        Http协议是用于客户端和服务器之间的通信,那么必定一端担任客户端角色,一端担任服务器端角色。(相对的,角色是可以互换的)。Http协议规定,请求从客户端发送,最后服务器端响应请求并返回。一般需要简单了解下Http请求报文和响应报文,对于写好一个HTTP Request很有帮助。

        一般Http报文分为:请求报文和响应报文

> GET / HTTP/1.1                             ## 请求行: Method URI Protocol
> Host: www.baid.com
> User-Agent: curl/7.54.0                    ## 请求头:Key: Value格式
>                                            ## 请求体


< HTTP/1.1 200 OK                            ## 响应行: Protocol StatusCode Msg
< Content-Type: text/html                    
< Content-Length: 2443
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
< Connection: keep-alive
...
                                             ## 响应头:Key: Value格式

<
<!DOCTYPE html>
....
....
....
</html>                                      ## 响应体

常见Http请求方法

对于Http请求方法,大部分还是Get/Post,其他还有Options/Header/Put/Delete/Trace...

GET是最常用的方法,通常用于请求服务器发送某个资源。

POST方法起初是用来向服务器输入数据的,通常用于支持表单提交。

常见Http请求头

Content-Type  内容首部,告知服务器请求数据体的格式类型

  • application/x-www-form-urlencoded
  • application/json
  • multipart/form-data

Authorization 包含客户端提供给服务器的认证信息

Cookie 包含cookie信息,一般用于认证相关

试试吧

在编写HTTP Request之前,需要了解即将发生的Http请求,

如 method: GET/POST/..、protocol: http/https 、serverName、port、URI:请求资源(path)、请求参数以及类型

### 模拟一些API,


## case 1: GET请求,Restful风格API
$ curl -XGET http://api.demo.com:8888/product/detail/108
{"name":"iphone6","price":5000.5,"quantities":1000,"brand":"iphone"}

## case 2: GET请求,请求参数形式
$ curl -XGET http://api.demo.com:8888/product/detail?id=265
{"name":"Huawei Meta20","price":4700.5,"quantities":200,"brand":"huawei"}


## case 3: POST请求,参数以application/json形式提交数据
$ curl -XPOST 'http://api.demo.com:8888/product/create/v1' -H 'Content-Type: application/json' --data-raw '{"name":"iphone10","price":6700.5,"quantities":200,"brand":"iphone"}'
{"msg":"ok","code":200,"productId":353}


## case 4: POST请求,参数以application/x-www-form-urlencoded形式提交数据
$ curl -XPOST 'http://api.demo.com:8888/product/create/v2' -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'name=Xiaomi10s' --data-urlencode 'price=2601.5' --data-urlencode 'quantities=150' --data-urlencode 'brand=xiaomi'
{"msg":"ok","code":200,"productId":656}


## case 5: POST请求,参数以multipart/form-data; boundary= 形式提交数据,请求参数以boundary形式分隔提交,也一般用于上传文件
$ curl -XPOST 'http://api.demo.com:8888/product/create/v3' --form 'name="Oppo Reno 6"' --form 'price=2700.5' --form 'quantities=130' --form 'brand="oppo"'
{"msg":"ok","code":200,"productId":465}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值