抓包步骤:
-
打开浏览器,右键-检查,点击Net work,勾选Preserve log
-
访问github登陆的url地址
https://github.com/login
-
输入账号密码点击登陆后,访问一个需要登陆后才能获取正确内容的url,比如点击右上角的Your profile访问
https://github.com/USER_NAME
-
确定url之后,再确定发送该请求所需要的请求头信息中的User-Agent和Cookie
完成代码:
-
从浏览器中复制User-Agent和Cookie
-
浏览器中的请求头字段和值与headers参数中必须一致
-
headers请求参数字典中的Cookie键对应的值是字符串
# 导入requests模块
import requests
url = 'https://github.com/OSamual'
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
" AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
"cookie": "登录成功后的cookie信息 "
}
response = requests.get(url,headers=headers)
# 通过文件保存response.content内容
with open('github登录.html','wb')as f:
f.write(response.content)
运行代码验证结果:
在打印的输出结果中搜索title,html中的标题文本内容如果是你的github账号,则成功利用headers参数携带cookie,获取登陆后才能访问的页面
运行代码返回的结果
浏览器network检查的结果
两者中的title相同,说明代码运行成功