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

那些企业网站做的漂亮优化设计三年级下册数学答案

那些企业网站做的漂亮,优化设计三年级下册数学答案,温州企业自助建站系统,建筑设计资料网站前言 我们今天来聊聊pythonpytest接口自动化之cookie绕过登录(保持登录状态),在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证…

前言

我们今天来聊聊python+pytest接口自动化之cookie绕过登录(保持登录状态),在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理;再者,每次请求接口前如果都需要先去登录一次,这样不仅效率低,还耗费资源。

有些网站是使用cookie辨别用户身份的,此时我们便可以先登录一次,拿到登录成功后的cookie,后续请求时在请求头中加入该cookie,便可保持登录状态直接请求。

一、cookie工作原理

HTTP协议1.0版本是无状态的,对于事务处理没有记忆能力,比如用户登录了某个网站后,再次刷新这个页面去请求服务器,如果没有相关机制的话,服务器是不知道这个请求是否还是刷新之前登录的用户发出来的。此时,为了维持用户的登录状态,即为了使服务器能够识别页面刷新之后的请求,就可以使用cookie机制。

cookie原理简单概括如下:

  1. 用户在客户端 (一般为浏览器) 中访问某个页面 ,也就是向服务器发送请求。
  2. 服务器收到请求后,会在响应头中设置Set-Cookie字段值,该字段存储相关信息和状态。
  3. 客户端解析服务器HTTP响应头中的Set-Cookie字段,并以key=value的形式保存在本地,之后客户端每次发送HTTP请求时,都会在请求头中增加Cookie字段。
  4. 服务器接收到客户端的HTTP请求之后,会从请求头中取出Cookie数据,来校验客户端状态或身份信息。

以登录某网站为例,点击登录时请求sign_in接口,请求成功后 (即登录成功后) 在响应头中会返回set-cookie字段,如下:

浏览器会保存上图中set-cookie字段的值,后续发送请求 (即登录后进行页面操作) 时,请求头中都会携带包含刚刚保存的set-cookie值的cookie,如下所示:

服务器接收到这个cookie后,便会用它去查找内存中的记录,有则校验成功。

由此可知,如果需要绕过用户名密码、验证码等进行模拟登录,然后再去请求其他接口,那么我们可以先拿到登录成功后的cookie,将cookie放在请求头中,再去调用需要登录才能请求的接口,便能调用成功。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

二、cookie绕过登录

1、哪些场景需要使用cookie绕过登录?

  • 网络爬虫,代码去爬取某个网站时需要验证码登录,而这时代码获取验证码登录有一定难度,就可以先抓取到登录后的cookie用于后续的接口请求。
  • 接口自动化测试,对某个需要登录的项目进行接口测试,每次请求时都先请求登录接口进行登录会影响效率而且极其不方便,这时就可以抓取到第一次登录后的cookie,后续每次接口请求都带上该cookie,服务器就会认为是登录状态。
  • 其他需要绕过登录的场景。

2、接下来举例说明怎样编写python脚本,利用cookie机制绕过登录。

  • 需求:请求接口获取博客园网自己账号的个人信息。
  • 需求分析:
    • 需要先登录头条,才能去请求获取个人信息接口拿到个人信息
    • 该网站的登录方式有两种:用户名、密码登录,手机验证码登录
    • 可尝试使用cookie绕过这两种登录方式。

3、思路:

  • 首先,先使用手机验证码登录网站,Fiddler进行抓包,获取登录后的cookie信息;
  • 然后,编写python代码,拿上一步中获取到的cookie信息去请求获取个人信息接口;
  • 最后,个人信息获取成功便说明绕过了登录。

4、实际操作流程如下:

首先,登录网站,Fiddler抓包获取登录成功后的cookie。

然后,cookie信息去请求获取个人信息接口。

登录后同样可以抓取到获取个人信息接口的信息,如下:

个人信息接口请求方式为GET,请求URL如图所示,那么我们只需要这两点信息就足够了。接下使用上一步中拿到的cookie去请求这个接口。代码如下:

import requestsurl = "https://account.cnblogs.com/user/userinfo"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.30","cookie": "登录成功后的cookie"
}res = requests.get(url=url, headers=headers).text
print(res)

运行代码,结果如下:

可以看到,成功获取了个人信息。

最后,为了验证是cookie确实绕过了登录,我们修改上面的脚本,不加入该cookie,请求个人信息接口,代码如下:

import requestsurl = "https://account.cnblogs.com/user/userinfo"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.30"
}res = requests.get(url=url, headers=headers).text
print(res)

运行后结果如下:

从上图可以看出来,不加登录成功后的cookie去请求接口,则会提示先登录或注册。

总结

cookie绕过登录其实是登录状态保持,而不是真的不需要登录。

并非所有的网站都是使用cookie机制,除了cookie机制外,还有session、token等方式进行会话保持的session我已经写过一篇文章了大家感兴趣的话可以去看看。今天的分享就到这里了。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

http://www.15wanjia.com/news/17055.html

相关文章:

  • 龙华做网站的微信视频号小店
  • 怎么自己做网站挣钱有没有免费的seo网站
  • 网站制作的目的全网营销公司
  • 兰州专业做网站的公司哪家好营销型网站建设题库
  • 湖南株洲静默北京seo分析
  • 推荐几个好看的网站海口网站关键词优化
  • 化妆品行业的网站开发句容市网站seo优化排名
  • 购物网站的后台做哪些东西百度网盟推广怎么做
  • 网站建设和赚钱方法淘宝一个关键词要刷多久
  • 造价人员做兼职的网站百度站长平台
  • 合肥市建设工程信息价网站三个关键词介绍自己
  • 澳门网站开发招聘百度官方推广平台
  • 长沙做网站设计的公司seo网络营销外包公司
  • 网站建设谢词网页设计与制作教程
  • 深圳宝安做网站的seo是什么意思怎么解决
  • 做物流的网站都有什么作用广告seo是什么意思
  • 做网站需要学会些什么站长工具权重
  • 做网站搜索推广点击率太低怎么办如何解决网站只收录首页的一些办法
  • 房地产楼盘微信网站建设营销方案seo优化教程培训
  • 卖产品的网站怎么做南宁市优化网站公司
  • 哪个网站可以做英语语法题网络营销工具
  • 网站除了做流量还需要什么软件发布广告的平台免费
  • 做门户网站的公司有网站模板怎么建站
  • 网站建设费用上海关键词排名点击软件
  • 广州的一起做网站怎么样百度指数功能模块有哪些
  • 河南省豫建设计院网站合肥seo优化
  • 多语言网站青海网站seo
  • 办公空间设计装修公司优化网站有哪些方法
  • 学做网站论坛实体店引流推广方法
  • 自已做个网站怎么做谷歌三件套下载