python+requests接口自动化2. 发送get请求与post请求(包含json格式的请求)

Posted lht3347

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+requests接口自动化2. 发送get请求与post请求(包含json格式的请求)相关的知识,希望对你有一定的参考价值。

python+requests接口自动化

介绍

Python+Requests接口自动化介绍、协议及环境搭建

快速上手

看完上述的介绍,是不是有点迫不及待了?

好嘞,下面就让我们来看下如何快速学习requests发送第一个请求。

前提:你已安装pythonrequests

如果没有安装python,请点击Python 安装及环境变量配置(Windows)进行安装。

如果没有安装requests,请回到本文第一章:Requests环境搭建安装进行安装。

本文已安装python 3.6.6
requests=2.25.1

讲了这么多,让我们从一些简单的示例开始燥起来。

发送get请求

  1. 首先先导入requests模块

    import requests
    
  2. 使用requests中的get()方法发送GET请求

    # url:接口地址
    url = "http://127.0.0.1:5656/api/index"
    # 请求的数据:以字典形式key:value
    # data = "name":"zhangsan","pwd":"a123456" 
    
    # 发送get请求
    # res = requests.get(url,data) # 发送带有请求参数的GET请求
    res = requests.get(url)
    # 输出响应数据
    print(res) # 输出响应数据中最后的HTTP状态码
    print(res.text) # 输出字符串格式
    print(res.json()) # 输出json格式
    

发送post请求

表单数据格式的请求

发送post请求跟get请求的操作类似,只需将请求方式改成post()方法即可,下面来学习post请求的发送。

通过案例发送的代码如下:

# 导入requests模块
import requests

# url:接口地址
url = "http://127.0.0.1:5656/api/user/getAuthCode"
# 请求的数据:以字典形式key:value
data = "username":"15066888866","authType":"2"
# 发送post请求
res = requests.post(url=url,data=data)
# 或:requests.post(url,data)   ----> 因为post方法默认第一个参数为url,第二参数为表单格式的请求参数

# 输出响应数据
print(res) # 输出响应数据中最后的HTTP状态码
print(res.text) # 输出字符串格式
print(res.json()) # 输出json格式(前提响应数据是json格式)

json格式的请求

有些请求参数规定是以json格式发送的,其必须在信息头上对应的内容。

信息头需要加上:
"Content-type":"application/json;charset=UTF-8"

# 导入requests模块
import requests

# url:接口地址
url = "http://127.0.0.1:5656/api/user/login"
# 信息头
head = "Content-type":"application/json;charset=UTF-8"
# 请求的数据:以字典形式key:value
data = "username":"15066888866","password":"a12345678","authCode":"IQAk49"
# 发送post请求
res = requests.post(url=url,json=data)

# 输出响应数据
print(res) # 输出响应数据中最后的HTTP状态码
print(res.text) # 输出字符串格式
print(res.json()) # 输出json格式(前提响应数据是json格式)

响应数据

# 导入requests模块
import requests

# url:接口地址
url = "http://127.0.0.1:5656/api/index"

res = requests.get(url)

# 输出响应数据
print(res) # 输出响应数据中最后的HTTP状态码
print(res.text) # 输出字符串格式
print(res.json()) # 输出json格式

除了以上说的三种输出响应数据的以外,还有其它的。

  • 输出HTTP状态码
# 输出HTTP状态码
print(res.status_code)
  • 输出响应信息头
# 输出响应信息头
print(res.headers)
# 获取响应头的Content-Type参数的值
print(r.headers['Content-Type'])
  • 输出原始响应数据
# 输出原始响应数据
print(res.raw)
  • 输出响应数据中的cookie
# 输出响应数据中的cookie
print(res.cookies)

结尾

如果你觉得文章对你有帮助,请动起你们的小手手点下赞(大拇指)哈(一键三连更好),Thanks♪(・ω・)ノ。

以上是关于python+requests接口自动化2. 发送get请求与post请求(包含json格式的请求)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Python接口测试实战2 - 使用Python发送请求

Python接口测试实战2 - 使用Python发送请求

Python接口测试实战2 - 使用Python发送请求

python+pytest接口自动化-requests发送get请求