Python接口自动化-requests模块之get请求
一、requests模块说明
介绍:
Requests是Python语言的第三方的库,专门用于发送HTTP请求。在Python语言中,虽然提供了urllib2和urllib的库,但是相比较而言,Requests仍然是实现接口测试最好的选择,因为它是用起来更加简便。
特点:
1.Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。
2.在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。
3.Requests会自动实现持久连接keep-alive,现代,国际化,友好。
二、安装并导入模块安装requests
-
Pycharm在线安装:
File-Settings-Project Interpreter
-
pip在线安装 :
cmd-> pip install requests
-
国内源:
pip install requests -i
https://pypi.tuna.tsinghua.edu.cn/simple/
导入requests
import requests
三、requests模块发送get请求
基本介绍
语法格式:requests.get(url, params=None, **kwargs)
如:requests.get(url=url, headers=headers, params=params)
-
url:请求url地址
-
headers:请求头
-
params:参数
简单使用
-
获取响应状态码: res.status_code
-
获取响应消息: res.content
-
获取请求头: res.request.headers
-
获取响应头: res.headers
-
获取响应数据 res.text
响应结果一般有三种格式:html、json、text;
-
获取cookie res.cookies
cookie是一种类字典的数据格式,若想打印字典的值,可以根据key;
-
res.json():如果返回结果是json格式,可以把响应结果利用json()来进行解析;
示例:
# !/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time:2020/1/26 07:00
# @微信公众号:ITester软件测试小栈
# @Author:coco
# @Python交流群:604469740
# @Email:3593721069@qq.com
# @File:test.py
# @Software:PyCharm
#请求url
url = "http://httpbin.org/get"
#请求头
headers= {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"User-Agent": "python-requests/2.9.1"}
#查询字符串
params = {'name': 'coco', 'age': '18'}
res= requests.get(url, headers=headers, data=params)
#获取响应状态码 res.status_code
print("响应状态码:", res.status_code)
# 获取响应消息 res.content
print("响应消息:", res.content)
# 获取请求头 res.request.headers
print("请求头:", res.request.headers)
# 获取响应头 res.headers
print("响应头:", res.headers)
# 获取响应数据 res.text
print("响应数据:", res.text)
#获取cookie res.cookies
print("cookie:", res.cookies)
# res.json()
print("json:", res.json())
执行结果:
更多系列文章,可以关注微信公众号:ITester软件测试小栈