Python Requests库 使用cookies绕过登录

import requests


cookies_data = {
    "rAbc": "f",
    "RToken":"9A12D913AE901346CF9E0D408469",
    ".ASPXAUTH":"01C4C8EE2C4B5025AD0CDD04A5F8FF6F9766F41C68F0D35AAA5F15F3F5DB3C1",
    "CacheSessionId": "ecaf9c40250f4b9f9e718f18564",

}

# 这里没有在发送登录的请求了,而是直接发送登录后才能使用的查询请求
r = requests.get('http://192.168.0.88:8099/Manage/RegCard',cookies = cookies_data)
m = requests.get('http://192.168.0.88:8099/Manage/Visit',cookies = cookies_data)
print(r.text)
print(m.text)

  • 通过上面的例子可以看出,每次发送请求的时候,参数都跟着cookies,我们可以把cookies追加到session里,用session来进行状态保持
import requests





s = requests.session()
jar = requests.cookies.RequestsCookieJar()   # 创建一个Cookie Jar对象
jar.set('RToken','9A12D913AE901346CF9E0D408469')  # 向Cookie Jar对象中添加cookie值
jar.set('.ASPXAUTH','01C4C8EE2C4B5025AD0CDD04A5F8FF6F9766F41C68F0D35AAA5F15F3F5DB3C1')
jar.set('rAbc','f')
jar.set('CacheSessionId','ecaf9c40250f4b9f9e718f18564')

s.cookies.update(jar)  # 把cookies追加到Session中

#s.cookies.update(cookies_data)  # 发现这里如果不创建cookie Jar对象 直接把cookies追加到Session中也是可以的

#后面请求中,就不用带上cookies参数了,和上面返回结果是一致的
r = s.get('http://192.168.0.88:8099/Manage/RegCard')
m = s.get('http://192.168.0.88:8099/Manage/Visit')
print(r.text)
print(m.text)
posted @ 2021-10-26 17:10  弩哥++  阅读(543)  评论(0编辑  收藏  举报