浏览中获取验证码地址以及抓取重定向之前的接口

1、在验证码图片上右击鼠标复制图片地址 http://xxx.yanzhengma.com
2、1)在浏览中抓取受保护的数据-302重定向之前的url,需要勾选preserver log选项 2)form data:以字典形式编写
3、带有验证码登录:1)因为在登录之前向服务器发送了一个请求生成验证码的请求,服务器对验证码生成cookie目的是区分验证码唯一标识符,因为验证码是可以重复,因此,服务器会返回一个验证码的cookie,
登录请求+验证码cookie,才能登录成功
2)验证码请求:
http://xxx.yanzhengma.com= “http://xxx.yanzhengma.com”
rep = r.get(http://xxx.yanzhengma.com)
r_cookie = rep.cookies # 是字典格式,直接取个键值
注意:设置传入参数的code_cookies = {“laravel_session”:r_cookie[‘laravel_session’]}
登录请求中放入cookies,如下:
res = request.post(url = url ,data =data, cookies = code_cookies)
4、1)使用session对象的好处:session可以自动保存服务器产生的cookies信息,并且自动在下一条请求时附加
2)什么是session:一次会话(从客户端和服务器创建请求连接开始,客户端和服务器断开连接结束,即关闭浏览器)
3)使用方法:
session = requests.session() # 创建session对象
res = session.get(url)…session.post(url,data)等put、delete操作
4)在unitest登录的实践
import unittest
class Test_unittest(unittest.TestCase):
def setUp(self):
self.session = requests.session()
self.url_login = “http://xxx.login.com”
self.url_code = “http://xxx.url_code.com”

def tearDown(self):
    self.session.close()
def test_login_success(self):
    self.session.get(self.url_code)
    data = {"name":"admin",
            "password":"admin"}
    res = self.session.post(self.url_login,data = data)
    try:
        self.assertEqual("o",res.json()['code'])
    except AssertionError as e:
        print(e)

def test_login_password_error(self):
    self.session.get(self.url_code)
    data = {"name":"admin",
            "password":"000"}
    res = self.session.post(self.url_login,data = data)
    try:
        self.assertEqual("o",res.json()['code'])
    except AssertionError as e:
        print(e)
if __name__ == '__main__':
    unittest.main()    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值