Python以物理方式实现绕过验证登录

百度百科:

Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息

Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。

Name/Value:设置Cookie的名称及相对应的值,对于认证Cookie,Value值包括Web服务器所提供的访问令牌 。

此文章讲的是以物理方式实现绕过验证登录,物理方式就是我们通过手动方式在网站上登陆,然后打开  > > 开发人员工具 >> 网络 >> 然后在其中找到cookies >> 把cookie全复制下来 >> 然后就可以通过代码在请求的时候添加这些cookie实现绕过验证登录。

接下来就以淘宝为例:

1、此时,我已经登录淘宝网页

 2、然后打开开发者工具,找到cookie所在,将其全部复制

 

 

 3、为了方便知道是否是成功绕过登录,这里使用selenium来处理。

注意:使用selenium添加cookie有个坑,你添加cookie前必须先访问网站,不然会报出:Message: invalid cookie domain这样的错误。原因是:selenium的默认域名为data,cookie又是自带域名(设置时不带域名,会使用默认值),设置cookie时发现当前域名不包含在cookie中,就会失败。

from selenium import webdriver

cookies = """cna=iHMKFuqsYAACAXjn0P6WN3dR; miid=195501091797614641; enc=fcMxd+4ZrLbUk9vpXa2aavtdOfCaOA7N0MmQaN/kT8i+fcCtyB3sy0R6e+it43RhYrcPT6kO3PZzCeUqLOqV98TX8zSuQmS+EgCt2bGBj/pINM/ZIKiFRDfoGRoLHGSk; thw=cn; lLtC1_=1; tk_trace=oTRxOWSBNwn9evfHtXQifmafmYzSU80EW6dedixskcJ+c8J0R27pVpwR009bxUw3pJYMDEOjj9VTZncJdZFFzzCuQZlwHG1OOmDzpAryISE2C0QWGPec6jby/Yd7YunTP7Lqbxt1A2pcChzsj+/Ps4TCD3CQV4TI/bHUCOxWwMzyUxRMxiwRDo7M9N9bNw/d9bBIlylnE/7uT48zFsp69TkvnLAZ0KVefowMaZ9/rDCxNbkGRHAxsx69TWtXxUfPznP1Vah/X15X93Zl2lOX6KuJgJGu43Y8e1F8QDj8mp8/wVgybTwzM0pNnBTfpw1IIXYHLe9J99TNXv2qGQUVnVxhH57V9OiWr3m+uFvL9daQG4n1d9B4+wECqmDa2b2CDoy2Id3U4MqNj+Y=; _m_h5_tk=754eb6b59da5ebf5a381c2d645dfc106_1660146544399; _m_h5_tk_enc=34c873fe834f45fd7390a05ef1698c3f; cookie2=1951fc32e477ba7ab38a0cf6474773c7; t=fe39ebf42e69f2808b09c652ee1f694f; _tb_token_=349d51e35933b; xlly_s=1; _samesite_flag_=true; sgcookie=E100kZ97UYjfZfloyD4+TvtWYSpiDilSGwKGYm6PPTrC58r4a23OJPyYfv+avG2Tps5I58HlVoh1PHEuvLee1y6D8KLedr64Iv9v2jy0y9VZzy4=; unb=2979218596; uc3=nk2=F6k3HMo5ReQpszI3lqGxeEqDi/w=&lg2=W5iHLLyFOGW7aA==&vt3=F8dCv4G1LQZ3thwBKSg=&id2=UUGlR29wXgAgpQ==; csg=546f4a37; lgc=t_1483247439766_0815; cancelledSubSites=empty; cookie17=UUGlR29wXgAgpQ==; dnk=t_1483247439766_0815; skt=98fb39ee97e47c73; existShop=MTY2MDEzNjIyNg==; uc4=nk4=0@FbMocpyJn7hInmibQDMGwjoy53K234ooR6RVKlgleg==&id4=0@U2OSULolrpk5WooFpci6Fo2JlaEi; tracknick=t_1483247439766_0815; _cc_=VT5L2FSpdA==; _l_g_=Ug==; sg=56a; _nk_=t_1483247439766_0815; cookie1=BxeMKjItKwpbxtZeL1gkcx61jDSYbq9WTMNJ1FVmkEQ=; mt=ci=36_1; uc1=existShop=false&cookie15=VFC/uZ9ayeYq2g==&cookie14=UoeyDt7ZL/Vfrg==&pas=0&cookie16=WqG3DMC9UpAPBHGz5QBErFxlCA==&cart_m=0&cookie21=U+GCWk/7p4mBoUyS4E9C; tfstk=cCd5BV94duqWY9mf0TgqLC_xfw5dZ9ofoYsJPmAJkl5-T685iZNNf0uMKofFJZ1..; isg=BNvb765iPZEaMkOsQeWH6Kzhaj9FsO-yqHSC4c0Y1FrwrPuOVYBpAvktQgwijEeq; l=eBxA3dA7jl4zIWLJBOfZlurza779cIRAguPzaNbMiOCPO01B5T2FW6Ymk5Y6CnGVh6vXR3ud9SS9BeYBq3K-nxvOUKaOYBMmncna=iHMKFuqsYAACAXjn0P6WN3dR; miid=195501091797614641; enc=fcMxd+4ZrLbUk9vpXa2aavtdOfCaOA7N0MmQaN/kT8i+fcCtyB3sy0R6e+it43RhYrcPT6kO3PZzCeUqLOqV98TX8zSuQmS+EgCt2bGBj/pINM/ZIKiFRDfoGRoLHGSk; thw=cn; lLtC1_=1; tk_trace=oTRxOWSBNwn9evfHtXQifmafmYzSU80EW6dedixskcJ+c8J0R27pVpwR009bxUw3pJYMDEOjj9VTZncJdZFFzzCuQZlwHG1OOmDzpAryISE2C0QWGPec6jby/Yd7YunTP7Lqbxt1A2pcChzsj+/Ps4TCD3CQV4TI/bHUCOxWwMzyUxRMxiwRDo7M9N9bNw/d9bBIlylnE/7uT48zFsp69TkvnLAZ0KVefowMaZ9/rDCxNbkGRHAxsx69TWtXxUfPznP1Vah/X15X93Zl2lOX6KuJgJGu43Y8e1F8QDj8mp8/wVgybTwzM0pNnBTfpw1IIXYHLe9J99TNXv2qGQUVnVxhH57V9OiWr3m+uFvL9daQG4n1d9B4+wECqmDa2b2CDoy2Id3U4MqNj+Y=; _m_h5_tk=754eb6b59da5ebf5a381c2d645dfc106_1660146544399; _m_h5_tk_enc=34c873fe834f45fd7390a05ef1698c3f; cookie2=1951fc32e477ba7ab38a0cf6474773c7; t=fe39ebf42e69f2808b09c652ee1f694f; _tb_token_=349d51e35933b; xlly_s=1; _samesite_flag_=true; sgcookie=E100kZ97UYjfZfloyD4+TvtWYSpiDilSGwKGYm6PPTrC58r4a23OJPyYfv+avG2Tps5I58HlVoh1PHEuvLee1y6D8KLedr64Iv9v2jy0y9VZzy4=; unb=2979218596; uc3=nk2=F6k3HMo5ReQpszI3lqGxeEqDi/w=&lg2=W5iHLLyFOGW7aA==&vt3=F8dCv4G1LQZ3thwBKSg=&id2=UUGlR29wXgAgpQ==; csg=546f4a37; lgc=t_1483247439766_0815; cancelledSubSites=empty; cookie17=UUGlR29wXgAgpQ==; dnk=t_1483247439766_0815; skt=98fb39ee97e47c73; existShop=MTY2MDEzNjIyNg==; uc4=nk4=0@FbMocpyJn7hInmibQDMGwjoy53K234ooR6RVKlgleg==&id4=0@U2OSULolrpk5WooFpci6Fo2JlaEi; tracknick=t_1483247439766_0815; _cc_=VT5L2FSpdA==; _l_g_=Ug==; sg=56a; _nk_=t_1483247439766_0815; cookie1=BxeMKjItKwpbxtZeL1gkcx61jDSYbq9WTMNJ1FVmkEQ=; mt=ci=36_1; uc1=existShop=false&cookie15=VFC/uZ9ayeYq2g==&cookie14=UoeyDt7ZL/Vfrg==&pas=0&cookie16=WqG3DMC9UpAPBHGz5QBErFxlCA==&cart_m=0&cookie21=U+GCWk/7p4mBoUyS4E9C; tfstk=cCd5BV94duqWY9mf0TgqLC_xfw5dZ9ofoYsJPmAJkl5-T685iZNNf0uMKofFJZ1..; isg=BNvb765iPZEaMkOsQeWH6Kzhaj9FsO-yqHSC4c0Y1FrwrPuOVYBpAvktQgwijEeq; l=eBxA3dA7jl4zIWLJBOfZlurza779cIRAguPzaNbMiOCPO01B5T2FW6Ymk5Y6CnGVh6vXR3ud9SS9BeYBq3K-nxvOUKaOYBMmn"""


# 处理cookie,把字符串转变成字典格式
def handling_cookies(cookie_str):
    cookie_lst = []
    for item in cookie_str.split(';'):
        cookie = {}
        itemname = item.split('=')[0]
        iremvalue = item.split('=')[1]
        itemname = itemname.strip()
        iremvalue = iremvalue.strip()
        cookie['name'] = itemname
        cookie['value'] = iremvalue
        cookie_lst.append(cookie)
    return cookie_lst


cookie_lst = handling_cookies(cookies)

print(cookie_lst)
driver = webdriver.Edge()

driver.get("https://www.taobao.com/")

# selenium使用的是add_cookie()函数来添加cookie
# 注意:这个格式不能错,不然会出错
for item in cookie_lst: driver.add_cookie({
    'domain': '.taobao.com',
    'name': item['name'],
    'value': item['value'],
    'path': '/',
    'expires': None
    })
driver.get("https://www.taobao.com/")
driver.refresh()    # 刷新一下

4、登录成功 

 

 

 5、上述代码已经验证了这种方式可实现绕过登录,接下来通过requests.session()来设置cookie绕过登录验证,并且请求到我的购物车网页。结果返回成功。

# 还是同样的手法

import requests

cookies = """cna=iHMKFuqsYAACAXjn0P6WN3dR; miid=195501091797614641; enc=fcMxd+4ZrLbUk9vpXa2aavtdOfCaOA7N0MmQaN/kT8i+fcCtyB3sy0R6e+it43RhYrcPT6kO3PZzCeUqLOqV98TX8zSuQmS+EgCt2bGBj/pINM/ZIKiFRDfoGRoLHGSk; thw=cn; lLtC1_=1; tk_trace=oTRxOWSBNwn9evfHtXQifmafmYzSU80EW6dedixskcJ+c8J0R27pVpwR009bxUw3pJYMDEOjj9VTZncJdZFFzzCuQZlwHG1OOmDzpAryISE2C0QWGPec6jby/Yd7YunTP7Lqbxt1A2pcChzsj+/Ps4TCD3CQV4TI/bHUCOxWwMzyUxRMxiwRDo7M9N9bNw/d9bBIlylnE/7uT48zFsp69TkvnLAZ0KVefowMaZ9/rDCxNbkGRHAxsx69TWtXxUfPznP1Vah/X15X93Zl2lOX6KuJgJGu43Y8e1F8QDj8mp8/wVgybTwzM0pNnBTfpw1IIXYHLe9J99TNXv2qGQUVnVxhH57V9OiWr3m+uFvL9daQG4n1d9B4+wECqmDa2b2CDoy2Id3U4MqNj+Y=; _m_h5_tk=754eb6b59da5ebf5a381c2d645dfc106_1660146544399; _m_h5_tk_enc=34c873fe834f45fd7390a05ef1698c3f; cookie2=1951fc32e477ba7ab38a0cf6474773c7; t=fe39ebf42e69f2808b09c652ee1f694f; _tb_token_=349d51e35933b; xlly_s=1; _samesite_flag_=true; sgcookie=E100kZ97UYjfZfloyD4+TvtWYSpiDilSGwKGYm6PPTrC58r4a23OJPyYfv+avG2Tps5I58HlVoh1PHEuvLee1y6D8KLedr64Iv9v2jy0y9VZzy4=; unb=2979218596; uc3=nk2=F6k3HMo5ReQpszI3lqGxeEqDi/w=&lg2=W5iHLLyFOGW7aA==&vt3=F8dCv4G1LQZ3thwBKSg=&id2=UUGlR29wXgAgpQ==; csg=546f4a37; lgc=t_1483247439766_0815; cancelledSubSites=empty; cookie17=UUGlR29wXgAgpQ==; dnk=t_1483247439766_0815; skt=98fb39ee97e47c73; existShop=MTY2MDEzNjIyNg==; uc4=nk4=0@FbMocpyJn7hInmibQDMGwjoy53K234ooR6RVKlgleg==&id4=0@U2OSULolrpk5WooFpci6Fo2JlaEi; tracknick=t_1483247439766_0815; _cc_=VT5L2FSpdA==; _l_g_=Ug==; sg=56a; _nk_=t_1483247439766_0815; cookie1=BxeMKjItKwpbxtZeL1gkcx61jDSYbq9WTMNJ1FVmkEQ=; mt=ci=36_1; uc1=existShop=false&cookie15=VFC/uZ9ayeYq2g==&cookie14=UoeyDt7ZL/Vfrg==&pas=0&cookie16=WqG3DMC9UpAPBHGz5QBErFxlCA==&cart_m=0&cookie21=U+GCWk/7p4mBoUyS4E9C; tfstk=cCd5BV94duqWY9mf0TgqLC_xfw5dZ9ofoYsJPmAJkl5-T685iZNNf0uMKofFJZ1..; isg=BNvb765iPZEaMkOsQeWH6Kzhaj9FsO-yqHSC4c0Y1FrwrPuOVYBpAvktQgwijEeq; l=eBxA3dA7jl4zIWLJBOfZlurza779cIRAguPzaNbMiOCPO01B5T2FW6Ymk5Y6CnGVh6vXR3ud9SS9BeYBq3K-nxvOUKaOYBMmncna=iHMKFuqsYAACAXjn0P6WN3dR; miid=195501091797614641; enc=fcMxd+4ZrLbUk9vpXa2aavtdOfCaOA7N0MmQaN/kT8i+fcCtyB3sy0R6e+it43RhYrcPT6kO3PZzCeUqLOqV98TX8zSuQmS+EgCt2bGBj/pINM/ZIKiFRDfoGRoLHGSk; thw=cn; lLtC1_=1; tk_trace=oTRxOWSBNwn9evfHtXQifmafmYzSU80EW6dedixskcJ+c8J0R27pVpwR009bxUw3pJYMDEOjj9VTZncJdZFFzzCuQZlwHG1OOmDzpAryISE2C0QWGPec6jby/Yd7YunTP7Lqbxt1A2pcChzsj+/Ps4TCD3CQV4TI/bHUCOxWwMzyUxRMxiwRDo7M9N9bNw/d9bBIlylnE/7uT48zFsp69TkvnLAZ0KVefowMaZ9/rDCxNbkGRHAxsx69TWtXxUfPznP1Vah/X15X93Zl2lOX6KuJgJGu43Y8e1F8QDj8mp8/wVgybTwzM0pNnBTfpw1IIXYHLe9J99TNXv2qGQUVnVxhH57V9OiWr3m+uFvL9daQG4n1d9B4+wECqmDa2b2CDoy2Id3U4MqNj+Y=; _m_h5_tk=754eb6b59da5ebf5a381c2d645dfc106_1660146544399; _m_h5_tk_enc=34c873fe834f45fd7390a05ef1698c3f; cookie2=1951fc32e477ba7ab38a0cf6474773c7; t=fe39ebf42e69f2808b09c652ee1f694f; _tb_token_=349d51e35933b; xlly_s=1; _samesite_flag_=true; sgcookie=E100kZ97UYjfZfloyD4+TvtWYSpiDilSGwKGYm6PPTrC58r4a23OJPyYfv+avG2Tps5I58HlVoh1PHEuvLee1y6D8KLedr64Iv9v2jy0y9VZzy4=; unb=2979218596; uc3=nk2=F6k3HMo5ReQpszI3lqGxeEqDi/w=&lg2=W5iHLLyFOGW7aA==&vt3=F8dCv4G1LQZ3thwBKSg=&id2=UUGlR29wXgAgpQ==; csg=546f4a37; lgc=t_1483247439766_0815; cancelledSubSites=empty; cookie17=UUGlR29wXgAgpQ==; dnk=t_1483247439766_0815; skt=98fb39ee97e47c73; existShop=MTY2MDEzNjIyNg==; uc4=nk4=0@FbMocpyJn7hInmibQDMGwjoy53K234ooR6RVKlgleg==&id4=0@U2OSULolrpk5WooFpci6Fo2JlaEi; tracknick=t_1483247439766_0815; _cc_=VT5L2FSpdA==; _l_g_=Ug==; sg=56a; _nk_=t_1483247439766_0815; cookie1=BxeMKjItKwpbxtZeL1gkcx61jDSYbq9WTMNJ1FVmkEQ=; mt=ci=36_1; uc1=existShop=false&cookie15=VFC/uZ9ayeYq2g==&cookie14=UoeyDt7ZL/Vfrg==&pas=0&cookie16=WqG3DMC9UpAPBHGz5QBErFxlCA==&cart_m=0&cookie21=U+GCWk/7p4mBoUyS4E9C; tfstk=cCd5BV94duqWY9mf0TgqLC_xfw5dZ9ofoYsJPmAJkl5-T685iZNNf0uMKofFJZ1..; isg=BNvb765iPZEaMkOsQeWH6Kzhaj9FsO-yqHSC4c0Y1FrwrPuOVYBpAvktQgwijEeq; l=eBxA3dA7jl4zIWLJBOfZlurza779cIRAguPzaNbMiOCPO01B5T2FW6Ymk5Y6CnGVh6vXR3ud9SS9BeYBq3K-nxvOUKaOYBMmn"""


# 处理cookie,把字符串转变成字典格式
def handling_cookies(cookie_str):
    cookie_lst = []
    for item in cookie_str.split(';'):
        cookie = {}
        itemname = item.split('=')[0]
        iremvalue = item.split('=')[1]
        itemname = itemname.strip()
        iremvalue = iremvalue.strip()
        cookie['name'] = itemname
        cookie['value'] = iremvalue
        cookie_lst.append(cookie)
    return cookie_lst


cookie_lst = handling_cookies(cookies)

resp = requests.session()
response = resp.get("https://www.taobao.com/")

for item in cookie_lst:
    resp.cookies.set(item['name'], item['value'])

print(resp.get("https://cart.taobao.com/cart.htm?spm=a21bo.jianhua.0.0.5af911d9g8gDl7").text)

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值