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()来进行解析;
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # !/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()) |
执行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2019-11-13 在Vue中使用TypeScript