300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 爬虫之requests模块在headers参数中携带cookie发送请求

爬虫之requests模块在headers参数中携带cookie发送请求

时间:2020-10-22 23:30:28

相关推荐

爬虫之requests模块在headers参数中携带cookie发送请求

爬虫之requests模块在headers参数中携带cookie发送请求

网站经常利用请求头中的Cookie字段来做用户访问状态的保持,那么我们可以在headers参数中添加Cookie,模拟普通用户的请求。我们以github登陆为例:

1.1 github登陆抓包分析

打开浏览器,右键-检查,点击Net work,勾选Preserve log访问github登陆的url地址/login输入账号密码点击登陆后,访问一个需要登陆后才能获取正确内容的url,比如点击右上角的Your profile访问/USER_NAME确定url之后,再确定发送该请求所需要的请求头信息中的User-Agent和Cookie

1.2 完成代码

从浏览器中复制User-Agent和Cookie浏览器中的请求头字段和值与headers参数中必须一致headers请求参数字典中的Cookie键对应的值是字符串

import requestsurl = '/USER_NAME'# 构造请求头字典headers = {# 从浏览器中复制过来的User-Agent'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36',# 从浏览器中复制过来的Cookie'Cookie': 'xxx这里是复制过来的cookie字符串'}# 请求头参数字典中携带cookie字符串resp = requests.get(url, headers=headers)print(resp.text)

3.3.3 运行代码验证结果

在打印的输出结果中搜索title,html中的标题文本内容如果是你的github账号,则成功利用headers参数携带cookie,获取登陆后才能访问的页面

示例代码展示(没有cookies):

import requestsheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',}url = '/写自己的GitHub名称'response = requests.get(url, headers=headers)print(response.content.decode())

运行效果:

示例代码展示(有cookies):

import requestsheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36','cookie': '_octooz7h3ni%2FGlaRFR3ETrDvuhKiiUgJP8jStjNLNiFfpvWQy7U10IGCY15XhHxudYu3tRlt%2Fawt4SHEaDct0LNUQ%2B%2Fi2rHiCLVsL1Y8w%2BC9HpTtd2S6gxDLzfHK5dvBPc4TB6WDn%2BaRt9ljs4lSdlT0mn--qas9T0w68J9araMi--Se2WerqwQ6PlXV5xa2W9lw%3D%3D'}url = '/kxxxx'response = requests.get(url, headers=headers)print(response.content.decode())

运行效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。