requests--Cookie设置
前戏
有些页面需要登录才可以访问,而服务器是根据cookie来进行判断的,服务器拿到浏览器的cookie,然后再数据库里进行查询判断,如果校验通过,则服务器认为是登录过的,才有继续访问的权限,否则,服务器可能会返回到登录页面让你进行登录。
设置cookie
登录cookie = 登录后的cookies - 登录前的cookies
想发送你的cookies到服务器,可以使用 cookies 参数:
import requests url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working') r = requests.get(url, cookies=cookies)
print(r.text)
结果:
{
"cookies": {
"cookies_are": "working"
}
}
Cookie 的返回对象为 RequestsCookieJar,它的行为和字典类似,但接口更为完整,适合跨域名跨路径使用。你还可以把 Cookie Jar 传到 Requests 中:
import requests jar = requests.cookies.RequestsCookieJar()
jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere')
url = 'http://httpbin.org/cookies'
r = requests.get(url, cookies=jar)
print(r.text)
结果:
{
"cookies": {
"tasty_cookie": "yum"
}
}
如果某个响应中包含一些 cookie,你可以快速访问它们:
import requests url = 'http://example.com/some/cookie/setting/url'
r = requests.get(url) print(r.cookies['example_cookie_name'])
实战
import requests # 先打开登录首页,获取部分cookie
url = "https://passport.cnblogs.com/user/signin"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
}
r = requests.get(url, headers=headers, verify=False)
print(r.cookies) # 添加前的cookies # 添加登录需要的两个cookie
c = requests.cookies.RequestsCookieJar()
c.set('.CNBlogsCookie', 'xxx') # 填抓包内容
c.set('.Cnblogs.AspNetCore.Cookies', 'xxx') # 填抓包内容
r.cookies.update(c) # 更新cookies
print(r.cookies) # 添加后的cookies
requests--Cookie设置的更多相关文章
- 浏览器因cookie设置HttpOnly标志引起的安全问题
1.简介 如果cookie设置了HttpOnly标志,可以在发生XSS时避免JavaScript读取cookie,这也是HttpOnly被引入的 原因.但这种方式能防住攻击者吗?HttpOnly标志可 ...
- cookie设置
问题: cookie设置好后,谷歌浏览器下-->只有本页面有值,但是在其它浏览器下正常. $.cookie("userName",$("#loginName&quo ...
- 20170717_python爬虫之requests+cookie模拟登陆
在成功登陆之前,失败了十几次.完全找不到是什么原因导致被网站判断cookie是无效的. 直到用了firefox的httpfox之后才发现cookie里还有一个ASP.NET_SessionId 这个字 ...
- SoapUI之cookie设置
一.测试背景: 1)接口测试需要完成注册-->登录-->充值,使用soapui构建好测试用例.设置断言后,运行结果如下: 2)recharge接口运行失败,继续查看该接口具体发送的请求及返 ...
- PHP如何清除COOKIE?PHP无法删除COOKIE?设置COOKIE有效期、COOKIE过期
cookie和session的区别? http://www.cnblogs.com/phphuaibei/archive/2011/11/15/2250082.html PHP如何清除COOKIE?P ...
- ★★★【卡法 常用js库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度
[卡法 常用js库]: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度 // +---------------------- ...
- iOS 和 H5 页面交互(WKWebview 和 UIWebview cookie 设置)
iOS 和 H5 页面交互(WKWebview 和 UIWebview cookie 设置) 主要记录关于cookie相关的坑 1. UIWebview 1. UIWebview 相对比较简单 直接通 ...
- js中cookie设置、获取与清除
// 设置cookie setCookie (cname, cpwd, exdays) { var exdate = new Date()// 获取时间 exdate.setTime(exdate.g ...
- cookie设置中文时的编码问题
cookie设置中文时的编码问题:cookie在设置时不允许出现中文.非要设置中文的怎么办,看下面的解决方案: 方式1 def login(request): ret = HttpResponse(' ...
- Tornado中的Cookie设置
Tornado中的cookie分为两种--普通cookie和安全cookie 普通cookie 1.创建cookie 原型 self.set_cookie(name, value, domain=No ...
随机推荐
- 【shell脚本】检测当前用户是否为超级管理员===checkRoot.sh
检测当前用户是否为超级管理员,是则使用yum安装vsftpd,不是则输出提示信息 脚本赋予执行权限 [root@VM_0_10_centos shellScript]# chmod a+x check ...
- spring 注解aop调用invoke()
public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlAp ...
- 五、Spring之自动装配
Spring之自动装配 Spring利用依赖注入(DI),完成对IOC容器中各个组件依赖关系的赋值. [1]@Autowired @Autowired 注解,它可以对类成员变量.方法及构造函数进行 ...
- php,mysql结合js解决商品分类问题,从而不必联表查询
首先mysql数据表中的商品分类用varchar类型,比如AA,BB,CC,DD等 其次编写一个js文件,用于定义常量,比如 ‘AA’ = ‘中药’; 'BB' = '西药'; 'CC' = '保健 ...
- 个性化你的 Git Log 的输出格式
个性化你的 Git Log 的输出格式
- Filco圣手二代双模蓝牙机械键盘连接方法
转自:https://www.cnblogs.com/goldenSky/p/11437780.html 常规方法 确认键盘的电源接通. 同时按下「Ctrl」+「Alt」+「Fn」执行装置切换模式.配 ...
- Docker 容器命令大全
容器命令: 命令 描述 attach 将本地标准输入,输出和错误流转到到正在运行的容器 build 从Dockerfile构建映像 commit 根据容器的更改创建新镜像 cp 在容器和本地文件系统之 ...
- LeetCode: 404.左叶子节点
计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 解析 我们需要找到这样的节点 属于叶子节点 属于父 ...
- [b0011] windows 下 eclipse 开发 hdfs程序样例 (三)
目的: 学习windows 开发hadoop程序的配置. [b0007] windows 下 eclipse 开发 hdfs程序样例 太麻烦 [b0010] windows 下 eclipse 开发 ...
- JDBC及C3P0常用类
JDBC(Java Database Connectivity)JAVA数据库连接,它是一套用于执行SQL语句的Java API.JDBC可以通过不同驱动与不同数据库连接,相当于JAVA和数据库之间的 ...