当前位置: 首页 > news >正文

Requests库对session的支持

场景:如何获取登录时响应消息中的sessionid,以及如何在后续请求中把sessionid添到cookie中

Requests库提供了一个Session类,通过requests库中的session对象,requests库会自动帮我们保存服务端返回的cookie数据(set-cookie里的内容),也会在HTTP发出请求时自动在消息头中放入cookie数据。

用py模拟客户端接收响应消息:

import requests# 打印HTTP响应消息的函数
def printResponse(response):print('\n\n-------- HTTP response * begin -------')print(response.status_code) #打印响应状态码for k, v in response.headers.items():print(f'{k}: {v}')print('')print(response.content.decode('utf8')) # 获取响应消息体并转换成字符串print('-------- HTTP response * end -------\n\n')# 创建 Session 对象
s = requests.Session()# 通过 Session 对象发送http请求但是是添加资源信息 ; urlencoded格式构建请求消息体
response = s.post("http://127.0.0.1/api/mgr/signin",data={'username': 'byhy','password': '88888888'})printResponse(response) # 通过 Session 对象发送http请求,但是是从服务端获取资源 (模拟列出所有客户) ; 构建请求之URL参数
response = s.get("http://127.0.0.1/api/mgr/customers",params={'action'    :  'list_customer','pagesize'  :  10,'pagenum'   :  1,'keywords'  :  '',})printResponse(response) # 注意这里是请求消息发出去了,打印的是响应消息

1.python中的items()方法:

response得到的一般是json类型的字符串,response.headers.items()在字典对象后面加上.items();就会得到一个包含字典中所有键值对的视图对象,然后用循环遍历返回的这个视图对象。

参考:python中字典的items()函数_python中items()函数-CSDN博客

2.python中的print(f''):

格式化字符串语法,允许在字符串中嵌入表达式,在f''中的{}内可以放入任何有效的py表达式;在print函数执行时,表达式会被求值,并放入到字符串的相应位置。

参考自:python中的print(f‘‘)具体用法_python print f-CSDN博客

本文参考自: requests库 和 session - 白月黑羽 (byhy.net)

http://www.lryc.cn/news/431910.html

相关文章:

  • 利用深度学习实现验证码识别-2-使用Python导出ONNX模型并在Java中调用实现验证码识别
  • 如何通过Spring Cloud Consul增强微服务安全性和可靠性
  • 无代码搭建小程序zion
  • 【南方科技大学】CS315 Computer Security 【Lab1 Packet Sniffing and Wireshark】
  • 【人工智能/机器学习/机器人】数学基础-学习笔记
  • 视频安防监控LntonAIServer安防管理平台抖动检测和过亮过暗检测
  • 网络模型及协议介绍
  • 手撕HashMap源码
  • OceanBase block_file与log过大 的问题
  • 【Focal Loss 本质】
  • 端口安全老化细节
  • 【C++】—— string 模拟实现
  • 详解TensorRT的C++高性能部署以及C++部署Yolo实践
  • 手机如何切换网络IP地址:‌方法详解与操作指南‌
  • 南通网站建设手机版网页
  • macos系统内置php文件列表 系统自带php卸载方法
  • 微信小程序认证和备案
  • C++复习day05
  • python数值误差
  • 基于FPGA的OV5640摄像头图像采集
  • CDN ❀ Http协议标准缓存字段梳理
  • 浅谈NODE的NPM命令和合约测试开发工具HARDHAT
  • k8s-pod 实战六 (如何在不同的部署环境中调整startupprobe的参数?)
  • 和服务端系统的通信
  • python 实现perfect square完全平方数算法
  • 【漏洞复现】某客圈子社区小程序审计(0day)
  • 信息安全数学基础(1)整除的概念
  • SearchGPT与谷歌:早期分析及用户反馈
  • VUE饿了么UPload组件自定义上传
  • 2.1概率统计的世界