如何获取获取302 重定向页面的cookie
最近在做网站seo数据的统计,我需要从百度统计那里抓取信息存入我的数据。
我选择PHP + Guzzle6 帮我完成这项工作。
但是实现的功能出了一些问题。我使用的是百度的一个胖URL,在地址框里输入url。
类似这种:https://tongji.baidu.com/web/welcome/ico?s=sdfsdfsfdsfsdfsfsfsdfsf
然后输入密码就好了,经过分析,这个属于form-data范畴。
随后,登入成功了,会做个302跳转,
现在我想获取跳转后的cookie值,然而实操我获取不到。
我的做法:
- 获取首次访问胖url的cookie
- 将上一步的cookie,passwd等参数再次传给胖url,获取登录成功后的页面(即302跳转页面)cookie值
- 带着这个cookie去访问跳转后的页面,拉取统计数据。
但是,我对于重定向cookie的获取一筹莫展,google了一些,比如说跟着重定向,设置header值,都没有成功。
我的问题:
我需要获取重定向cookie的思路,大家能帮忙吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
从截图来看,这个cookie属于请求头request的cookie,使用浏览器的debug工具追踪一下在哪里相应了这个cookie的吧,这样才能拿到cookie
selenium试过吗
guzzle 自身的重定向功能好像不支持携带cookie,需要手动来进行redirect 跳转。
1.关闭allow_redirects (关闭字段重定向)
2.判断$response 是否是302
3.如果是重定向
4.则请求这个回调函数