博客
关于我
Python 接口自动化 —— requests框架
阅读量:796 次
发布时间:2023-03-07

本文共 2020 字,大约阅读时间需要 6 分钟。

requests 模块入门及实战应用


环境安装

安装 requests 模块,可以通过以下命令在终端输入:

pip install requests -i https://pypi.douban.com/simple

安装成功后,会提示相关信息确认安装完成。


发送请求

GET 请求

使用 requests 模块可以通过 GET 方法访问 URL。

import requestsurl = 'http://www.cnblogs.com/wwho'r = requests.get(url=url)print(r.status_code)  # 查看状态码print(r.text)         # 查看响应内容

GET 请求带参数

可以通过 params 参数传递请求参数。

import requestsurl = 'http://apis.juhe.cn/simpleWeather/query'par = {"city": "深圳", "key": "xxx"}result = requests.get(url=url, params=par)print(result.text)

定制请求头

添加请求头可以更充分地模拟浏览器请求。

import requestsurl = 'http://example.com'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}r = requests.get(url=url, headers=headers)print(r.text)

响应信息解析

requests 返回的对象包含丰富的信息:

  • r.status_code:响应状态码
  • r.text:响应内容(自动解码)
  • r.json():解析 JSON 格式响应
  • r.headers:响应头信息

POST 请求

POST 请求适用于提交数据,requests 提供了多种数据传输方式。

Form-Urlencoded 格式

import requestsurl = 'http://127.0.0.1:8002/api/mgr/signin'body = {    'username': 'byhy',    'password': '88888888'}resp = requests.post(url=url, data=body)print(resp.text)

JSON 格式

import requestsurl = 'http://127.0.0.1:8002/api/mgr/customers'body = {    'action': 'add_customer',    'data': {        'name': 'tester',        'phonenumber': '13345679934',        'address': '深圳市南山区'    }}resp = requests.post(url=url, json=body)print(resp.text)

其他请求类型

PUT 请求

import requestsurl = 'http://127.0.0.1:8002/api/mgr/customers'body = {    'action': 'modify_customer',    'id': 52,    'newdata': {        'name': '深圳市桥北医院',        'phonenumber': '13345678888',        'address': '深圳市中医院'    }}resp = requests.put(url=url, json=body)print(resp.text)

DELETE 请求

import requestsurl = 'http://127.0.0.1:8002/api/mgr/customers'body = {    'action': 'del_customer',    'id': 52}resp = requests.delete(url=url, json=body)print(resp.text)

总结

在使用 requests 模块时,注意以下几点:

  • 参数传递:GET 请求使用 params,POST 请求使用 datajson(根据接口文档选择)。
  • 请求头:在不确定接口需求时,最好添加请求头。
  • 响应处理:状态码 200 表示请求成功,但需结合响应内容判断功能是否正常。
  • 数据类型:根据接口文档判断数据类型,常见有 Form-Urlencoded、JSON、Multipart 等。

通过合理使用 requests 模块,可以高效实现网络接口的测试与调试。

你可能感兴趣的文章
python | spacy,一个神奇的 Python 库!
查看>>
python | sqlmap,一个实用的 Python 库!
查看>>
python | sumy,一个超酷的 用于文本摘要的 Python 库!
查看>>
python | tiler,一个不可思议的 图像切片重组 Python 库!
查看>>
python | tinydb,一个非常厉害的 关于数据库的 Python 库!
查看>>
python | tox,一个超强的 自动化测试工具 Python 库!
查看>>
python | ttkbootstrap,一个神奇的 Python 库!
查看>>
python | unoconv,一个超厉害的 Python 库!
查看>>
python | urllib3,一个超强的 Python 库!
查看>>
python | webassets,一个超强的 Python 库!
查看>>
python | werkzeug,一个不可思议的 Python 库!
查看>>
python | xlsxwriter,一个实用的 Python 库!
查看>>
python | xlwings,一个非常实用的 Excel 相关的 Python 库!
查看>>
python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
查看>>
python | xonsh,一个超酷的 Python 库!
查看>>
python | yagmail,一个实用的 Python 库!
查看>>
python | 一文掌握Python的上下文管理器和with语句
查看>>
python | 一文看懂Python闭包机制与变量作用域规则
查看>>
python读取含中文的json
查看>>
python | 如何用Python锁避免并发错误?
查看>>