python接口自动化3-发送post及其他请求

Posted 广深-小龙 --扬帆起航!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python接口自动化3-发送post及其他请求相关的知识,希望对你有一定的参考价值。

前言

发过get请求相信学习post请求也很快学会,无非就是多了传参时的类型与参数格式。在我常见的post请求中用到最多的是json格式,但也有用其它,下面将介绍常用的参数类型格式。

一、Post请求是我们常用的传参类型有:

1json格式:”Content-Type” : “application/json”,传json

如:{“phone”: “187xxxxxx”, “password”: valuexxxx}

2application/x-www-form-urlencode格式,多个参数用&分开

如:phone=187xxxxxx&password=valuexxxx,传params 或 data,注意的是接口文档是什么就传什么。

3multipart/form-data格式,常用于上传图片等;这种后面再讲。

二、发送post请求

1.看了上面的图,大概知道怎样发post请求了吗?

json格式:

# json 格式:
url = \'http://gsxl.boke.com/login\'
body = {
    "phone": "1877777777",
    "pwd": "123456",
}

request = requests.post(url, json=body)
print(request.text)

2.data格式:

# application/x-www-form-urlencoded
url1 = \'http://47.97.194.84:8000/api/login/\'
body1 = {
    "account": "gsxl",
    "password": "123456"
}

request1 = requests.post(url, data=body)
print(request1.text)

3.params 格式

import requests

s = requests.session()
login_url = \'http://127.0.0.1/zentao/user-login.html\'       # 登录url
data = \'account=admin&password=e10adc3949ba59abbe56e057f20f883e&keepLogin%5B%5D=on&referer=http%3A%2F%2F127.0.0.1%2Fzentao%2Fdoc-browse-1-byModule-0-id_desc-doc.html\'
login_r = s.post(login_url, params=data)                         # 传 params 参数

r1 = s.get(\'http://127.0.0.1/zentao/doc-browse-1-byModule-0-id_desc-doc.html\')  # 登录访问的 html
print(r1.content.decode(\'utf-8\'))

最后有可能很多小伙伴分不清什么时候传data,什么时候传json。这里告诉大家:

我们看fiddler抓包下来的是键值对就是传json,有&符号的就传data或者params就可以了。

欢迎来QQ交流群:482713805

以上是关于python接口自动化3-发送post及其他请求的主要内容,如果未能解决你的问题,请参考以下文章

python+requests接口自动化3. 接口<参数>的关联与cookie提取

python+requests接口自动化3. 接口<参数>的关联与cookie提取

python接口自动化2-发送post请求

python接口自动化2-发送post请求

python接口自动化2-发送post请求

python+requests接口自动化4. 接口实现文件(图片)上传