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

python保持登录状态_Python-保持登录状态进行接口测试

记录三种添加cookie保持接口登录状态的方法,方便自己回顾。

1.简单粗暴式。

此方法比较小白,前提是已经通过fiddler抓包等方式拿到了cookie,然后直接塞进去。

import requests

trainsUrl ='http://XXX.com/trains'

headers = {

"Content-Type":"application/json;charset=UTF-8",

}

cookies = {

"XXXthor":"XXXXXX105a42"

}

prames = {

'depStationId':'1',

'arrStationId':'2',

'goDate':'1538100286000'

}

res = requests.get(url=trainsUrl, cookies=cookies, params=prames, headers=headers).json()

2.从登录接口获取

import requests

loginUrl ="http://XXX.com/login"

data1 = {

"userName":"157XXXX",

"authCode":"",

"userPwd":"XXXX"

}

headers = {

"Content-Type":"application/json;charset=UTF-8"

}

#运行登录接口

loginRes = requests.post(url=loginUrl, json=data1, headers=headers)

trainsUrl ='http://XXX.com/trains'

parames = {

'depStationId':'1',

'arrStationId':'2',

'goDate':'1538100286000'

}

#运行trainsUrl接口时,从loginRes中获取cookies

res = requests.get(url=trainsUrl, params=parames, cookies=loginRes.cookies).json()

这种方式是先运行登录接口,然后从loginRes中获取cookies,以供后续接口使用。

3.使用会话对象保持登录---摘自网络

import requests

# Session 会话对象

# 会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie

# 会话对象具有主要的 Requests API 的所有方法。你可以当成 Request去使用

sessionRequest = requests.session()  #实例化会话对象

loginUrl ="http://XXX.com/login"

data = {

"userName":"157XXXX",

"authCode":"",

"userPwd":"XXX"

}

headers = {

"Content-Type":"application/json;charset=UTF-8"

}

#第二次请求的url

trainsUrl ='http://XXX/trains'

parames = {

'depStationId':'1',

'arrStationId':'2',

'goDate':'1538100286000'

}

#登录

resp = sessionRequest.post(url=loginUrl , json=data, headers=headers)

#请求trains接口

trainsResp = sessionRequest.get(url=trainsUrl, params=parames)

相关文章:

  • 有人见过在Windows Server 2003下面出现这样的字体变形模糊的异常吗?
  • 华为p10多屏互动在哪_华为p10如何投屏到电视?手机还有这些使用技巧
  • 关于南沙新厂的弱电工程(设想中,未完)
  • java中文转编码_利用JAVA将中文转Unicode编码
  • 电脑工程师职责要求
  • HTTP错误代码解释
  • c java http_Java Http协议
  • 网络最全最详细的经典命令行
  • java properties 冒号_java集合(四)Map集合之Properties详解
  • 几个事情随便说一下
  • java io 机器名_计算机等级二级Java考试辅导:Java IO机试题及解答(第2部分)
  • 申请了一个ASP免费的空间
  • inputdstream mysql_Spark Streaming编程模型
  • how to reinstall MS DTC on windows server 2003 R2
  • java linkedlist源码_深入分析java集合类LinkedList(源码分析)
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • Material Design
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Shell编程
  • SQLServer之创建显式事务
  • vue-cli3搭建项目
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 类orAPI - 收藏集 - 掘金
  • 面试总结JavaScript篇
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #每日一题合集#牛客JZ23-JZ33
  • #预处理和函数的对比以及条件编译
  • (4) PIVOT 和 UPIVOT 的使用
  • (BFS)hdoj2377-Bus Pass
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (floyd+补集) poj 3275
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (八十八)VFL语言初步 - 实现布局
  • (补)B+树一些思想
  • (接口自动化)Python3操作MySQL数据库
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Sql Server 保留几位小数的两种做法
  • .net 7 上传文件踩坑
  • .net程序集学习心得
  • .NET基础篇——反射的奥妙
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .net中我喜欢的两种验证码
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • []sim300 GPRS数据收发程序
  • [2669]2-2 Time类的定义
  • [Android Studio] 开发Java 程序
  • [Angular] 笔记 7:模块
  • [c]统计数字
  • [CF482B]Interesting Array
  • [CISCN 2023 初赛]go_session
  • [FZSZOJ 1223] 上海红茶馆
  • [Google Guava] 2.1-不可变集合