接口自动化:四.发送post请求

前言

平时工作过程中,最常见http和https使我们最常见的两种协议。https的请求相对于http来说安全级别高,但是需要验证ssl证书。

ssl证书验证

关闭fddler,调试的时候加参数verify=false,添加以下代码,https协议可以正常访问。

Import urllib3        #使用这个方法就可以了

Urllib3.disbale_warnings()   #忽略警告

 常见post请求

Post请求参数一部分在url里,另一部分可以再body里面,常见的有四种:

1.第一种:application/json{“key1”:”value1”,”key2”:”value2”}

   json={}

2.第二种:application/x-www-form-urlencodedname1= value1&name2=value2

   data=

3.第三种:multipart/form-data:这一种是表单格式的

(文件上传 file=,图片上传等混合式)

   data=

4. Content-Type:octets/stream

(文件下载)

   data=

5.text/xml

   data=

Post的请求body是可以没有的,比如下面这个post接口,参数都在url上,这种post请求不需要传body

接口文档地址:https://www.juhe.cn/docs/api/id/39

  

application/json

bodyjson

登录接口相关文档信息如下:

访问地址:api/v1/login/

请求方式:post

请求头部:Content-Type:application/json

请求参数示例:

{"username":"test", "password":"123456"}

返回示例

{

"code": 0,

"msg": "login success!",

"username": "test",

"token": "cdaadd690209106dbea71e1f4c1e728cadfdd6a4"

}

当拿到接口文档你需要知道的事情:

1.接口的服务器部署在哪个服务器上。

Host地址,端口号

2.对应数据库地址,最好能远程访问

数据校对,数据库具体库名

3.后台日志查询

需要知道项目部署怎么查日志

4.自动化之前先设计接口测试用例,先手工测试通过。

bodyjson格式

 application/json 直接传json=data

 Bodyx-www-form-urlencoded

接口文档示例

访问路径: /api/v4/login

请求方式:POST

头部

Content-Type: application/x-www-form-urlencoded

请求参数示例:

username=test1&password=123456 

返回示例 

{

"code": 0,

"msg": "login success!",

"username": "test",

"token": "cdaadd690209106dbea71e1f4c1e728cadfdd6a4"

}

 

datajson区分

方法一:抓包看头部Content-Type参数:

-- application/json   --------------------这种就是传json参数

---application/x-www-form-urlencode -------这种就是传data参数

方法二:直接看参数长相

----{“name1”:”value1”, “name2”,”value2”}  ---这种传json

-- name1=value1&name2=value2

这种传data参数

xml格式

 

# 遇到编码报错时候,对body进行encode

原文地址:https://www.cnblogs.com/liushui0306/p/13157502.html