老师,请问一下关于有些网站登录后重定向的问题

来源:8-10 cookie禁用、自动限速、自定义spider的settings

全是甘货

2020-07-19

我遇到一个网站集群,跟公园一样,首先要登录主网页,然后访问其他子网站,还要进行二次登录(当然,不需要再输入账号密码,就看我有没有主网页的凭证):

我想拿到某个子网站的cookie
有两个方法:
第一,我通过浏览器访问,然后我就拿到了cookie
第二,也就是我现在做的,我想通过代码拿到cookie。

1.首先进去子网站的首页,马上给我一个cookie,然后302重定向,此时cookie应该是无效的。
2.然后【???我估计是拿着给我的无效cookie,以及我的证书/登录凭证,生成一段加密字符串,去那个重定向的网站做验证) ---- 这是我根据fiddler拿到的数据猜出来的。

3.验证我的证书有效以后,他会让我的cookie从无效变成有效,然后重定向回去我想访问的子网站首页。
如此:我便可以拿着生效的cookie尽情在子网站冲浪了

插曲:这个cookie还是被http-only过的,我也是通过fiddler才拿得到。

问题:我不想用selenium这种模拟工具登录(因为不是每个电脑都有装selenium),想靠跑程序的方式拿到有效的cookie。

对策1:
我目前想到的是写fiddler脚本,我手动访问后fiddler拿到有效的cookie以后写入到文件里。然后我的程序自己要使用的时候自己去取。
—但此种方法还是不够自动,还是不够纯代码化,也需要每个电脑都装fiddler。

有没有纯python的思路来实现呢?

写回答

1回答

bobby

2020-07-20

这种不管哪种语言都没有库,这个思路很多网站都不一样,不过从你这里的描述来看,这个网站应该是实现了单点登录,你需要做的就是分析出单点登录的使用的是什么方法,因为单点登录的实现也比较多,现在比较流行的单点登录是cas https://blog.csdn.net/qq_24708791/article/details/78535565 你可以通过这个了解一下看看cas是如何做的,自己可以是否可以在中间层分析一下

0
2
bobby
回复
全是甘货
哈哈,课程答疑区我尽量每天都回复,如果时间不够一般不会超过两天的,感谢对课程的支持
2020-07-22
共2条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5829 学习 · 6293 问题

查看课程