接口自动化之cookies登录
现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录
目录
1、requests的添加cookies的方法
2、举个栗子
1、requests的添加cookies的方法
requests库里面有个对cookies进行专门处理的类,用法如下:
coo = requests.cookies.RequestsCookieJar() #调用处理cookies的这个jar包
coo.set('cookie-name', 'cookie-value', path='/', domain='.xxx.com') #进行cookies的添加
cookies.update() #追加cookies后,需要做一个更新操作
2、举个栗子
实现登录操作如下:
第一步:方法登录前页面,获取部分cookies
url2="http://mysrc.sinaapp.com/accounts/login/"
s=requests.session()
r=s.get(url2)
第二步:调用cookies的jar包,来添加cookies,特别的,我们不知道需要添加哪些cookies时,可以通过fiddler来对比,登录后比登录前多了什么
c=requests.cookies.RequestsCookieJar() #域名一定要填写,不然会报错
c.set('csrftoken','JIrj423TaumVWIym5TT0Gy0uAybmSAWi',path='/', domain='mysrc.sinaapp.com')
c.set('sessionid','4831409ded4f674da3af33625b99e7e7',path='/', domain='mysrc.sinaapp.com')
#更新一下cookies
s.cookies.update(c)
登录前:

登录后:

第三步:访问需要登录的接口
data1={
"search_text":"1",
"page":"1"
}
url1="http://mysrc.sinaapp.com/search/"
r1=s.post(url1,data=data1)
这个时候可以看到,访问的内容是登录后

完整代码:
# coding:utf-8 import requests url2="http://mysrc.sinaapp.com/accounts/login/"
s=requests.session()
r=s.get(url2) #使用cookies的set方法将cookies信息填进去
c=requests.cookies.RequestsCookieJar()
print s.cookies
#域名一定要填写,不然会报错
c.set('csrftoken','JIrj423TaumVWIym5TT0Gy0uAybmSAWi',path='/', domain='mysrc.sinaapp.com')
c.set('sessionid','4831409ded4f674da3af33625b99e7e7',path='/', domain='mysrc.sinaapp.com')
#更新一下cookies
s.cookies.update(c)
print s.cookies data1={
"search_text":"1",
"page":"1"
}
url1="http://mysrc.sinaapp.com/search/"
r1=s.post(url1,data=data1)
print s.cookies
print r1.content
接口自动化之cookies登录的更多相关文章
- UI自动化之cookies登录
现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录 目录 1.webdriver的添加cookies的方法 2.举个栗子 1.webdriver的添加cookies的方法 webdr ...
- python接口自动化三(登录绕开验证码及发帖)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 但是这里需要明确 ...
- selenium自动化 | 通过获取cookies登录
>>>登录百度<<<#获取登录成功后的cookies def get_cookies(): driver.get(bd_url) driver.implicitly ...
- jmeter接口自动化和性能学习目录
目录黑色代表未完成的,绿色代表已完成的文章.目录的作用的为了引导和总结自己的学习,也是为了更好的分享给大家. 一.接口自动化 jmeter解决登录token获取 jmeter五种提取器 之 正则表达 ...
- python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...
- python接口自动化4-绕过验证码登录(cookie)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...
- python接口自动化10-token登录
前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这 ...
- python接口自动化(Cookie_绕过验证码登录)
python接口自动化(Cookie_绕过验证码登录) 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以 ...
- python+pytest接口自动化(13)-token关联登录
在PC端登录公司的后台管理系统或在手机上登录某个APP时,经常会发现登录成功后,返回参数中会包含token,它的值为一段较长的字符串,而后续去请求的请求头中都需要带上这个token作为参数,否则就提示 ...
随机推荐
- [Python3 练习] 006 汉诺塔2 非递归解法
题目:汉诺塔 II 接上一篇 [Python3 练习] 005 汉诺塔1 递归解法 这次不使用递归 不限定层数 (1) 解决方式 利用"二进制" (2) 具体说明 统一起见 我把左 ...
- SpringBoot(二) -- SpringBoot配置
一.配置文件 SpringBoot可以使用两种类型的配置文件(文件名固定): application.properties application.yml 配置文件的作用就是来修改SpringBoot ...
- Socket服务端和客户端文件传输
很多朋友在使用socket编程时不可避免的都做过文件传输,而视频电影等需要一个字节一个字节的传输:但是客户端一般都通过-1进行终止,服务也一样:但是存在的问题是客户端永远不会把-1传递给服务端:因此经 ...
- JEECG 深度使用培训班 周六周日公开课(一期班)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/25411023 广大技术爱好者: ...
- highcharts控制X刻度值整数调整
function chartData() { var app_id = $('.app_id').attr('app_id'); var gener_id = $('.gener_id').attr( ...
- mysql中,表与表之间的关系
""" 1.字段的修改.添加.删除 2.多表关系(外键) 3.单表详细操作:增删改,查(各种条件) """ 字段操作 create ta ...
- Linux学习之旅(一)Linux常用命令
pwd命令 显示当前所在的目录 ls命令 显示目录下的子目录和文件 ls 显示当前目录下的子目录和文件 ls -a 显示当前目录下的所以子目录和文件(包括隐藏文件和文件夹) ls -al 显 ...
- VNware上安装虚拟机Ubuntu16.10 并安装petalinux(版本问题的坑 弃帖 另开一帖)
1.下载Ubuntu镜像文件 最新版本:https://ubuntu.com/download/desktop 老版本:http://old-releases.ubuntu.com/releases/ ...
- tomcat 部署指南
下载与安装 个人建议不要使用发行版带的版本, 始终从主页来下载安装, 下载地址位于[1], 安装方法很简单, 直接解压即可, 建议解压到 /usr/local/ 目录, 再链接到 /usr/local ...
- 关于memset
memset填充的是一个字节,比方下面的一段程序: #include <cstdio> #include <cstring> using namespace std; ]; i ...