html判断cookies ph,【教程】如何利用IE9的F12去分析网站登陆过程中的复杂的(参数,cookie等)值(的来源)...

在抓取网站内容,模拟网站登陆等过程中:

往往要去分析某些变量,参数,某cookie的值的来源。

而想要分析单个的值,相对于从F12所抓取到的海量信息,即N多条的记录,且每天记录中有N多数据信息,来说,很多时候,不是那么容易就找到你所想要的值的。

下面,就以登陆百度首页过程中,所涉及的一个cookie:SAVEUSERID,为例,来说明,如何一点点分析,找到最终这个值的来源。

【前提】

在:

中用F12分析百度登陆之前,已经通过:

Cache->Clear session cookies

Cache->Clear cookies for domain

Cache->Clear browser cache

Cache->Clear browser cache for this domain

清除了所有的cache(缓存)和cookie了。

然后现在接着去找,在访问:

时所用到的名为SAVEUSERID的cookie,是从哪里来的。

所以,能想到的,就是先去搜索SAVEUSERID。

并且,是利用从最开始的地方,往后去搜索:

4a351b51a89765b2f4d27f84ac1414ee.png

然后搜出来,第一个出现的位置是:

7216376381d46e8c237a484048e8e46e.png

可以看到,当前的url地址是 16/80,即一共抓取到了80条记录,现在这个是第16个。

这意味着,在此之前15条记录中,都没有出现SAVEUSERID,而第一次出现此SAVEUSERID,是在第16条记录,url地址为:

切换到summary view,更加容易看清整个抓取的记录的情况:

a4f43c57ee6d0f616ae92f7ab8419d75.png

但是,此处,没有出现我们所期待的,是访问某个url,然后返回的cooki中,包括了此SAVEUSERID。

【小提示:cookie的生成和出现的时机】

所谓cookie,一般都是访问服务器,然后服务器返回的cookie。

然后之后才是访问其他的,后续的地址时,sent这些cookie,然后后续访问的地址所返回的信息中,可能会再次更新值/删除本地的,旧的cookie,以及也可能返回新的,增加新的本地的cookie。

甚至是第一次出现此cookie,是代码本身,比如javascript中通过代码生成的cookie。

但是无论如何,一般第一次出现一个cookie,最常见的都是服务器返回的cookie。其实少数可能是由期间运行到的javascript代码所生成的。

所以,接下来,还要想办法,找到此cookie,SAVEUSERID,第一次出现是在什么时候。

对此,需要用到我之前自己折腾的时候所学到的经验。

是去查看本地缓存文件和cookie中,看看是否有之前所保存的cookie。

因为,之前通过IE9的F12所执行的删除cookie时,其虽然的确删除了“当前domain”的cookie,但是对于非当前domain的cookie,并没有删除掉。

即,本来是通过点击

Cache->Clear session cookies

Cache->Clear cookies for domain

打算删除掉,关于百度的所有的cookie的,结果,实际上,此时只去删除了

当前domian=www.baidu.com

所相关的cookie,而对于passport.baidu.com,由于和www.baidu.com不是同一个domain

(这点很容易迷惑人,不了解的去看:

)

所以,本地那些passport.baidu.com相关的cookie,还是存在的,所以通过自己手动找到电脑中放cookie和缓存的地方,还是可以找到的:

Cookie:cli@passport.baidu.com/

的:

a0ba054b25b064cd4d2e5d2ea5d49956.png

所以,然后点击右键,选择拷贝,然后可以打开看看其中内容是:SAVEUSERID

345baf769053e0ed4234

passport.baidu.com/

1024

1176968064

30863716

1055336676

30260219

*

PTOKEN

5861be3f7317a32a65afbd76ee501711

passport.baidu.com/

1024

1176968064

30863716

1055336676

30260219

*

STOKEN

2e0266d36ed35e658f14c183695d7936

passport.baidu.com/

1024

1176968064

30863716

1055336676

30260219

*

这里,才是真正SAVEUSERID所在的位置,而为何之前找不到SAVEUSERID第一次出现的位置,是因为此处本地

域名(domain)为passport.baidu.com所对应的cookie中包含了SAVEUSERID,没有被删除掉,所以,上述IE9的F12抓取到的第一次出现的SAVEUSERID的时候,就已经有了值,且在访问地址:

时所使用了。

【小提示:手动找到本地存放cookie和cache的地方】

即 浏览器的临时文件夹,可以通过如下方法找到:

选项->Internet Option:

5d6ab507c7c5aefa1ca459d81aee67b4.png

General->Settings->View File:

5244032b828a37d9bbdb8db87efb8079.png

其中可以找到对应的cookie:

79e64a4c9ab48859a9f943e3a002f381.png

此时,知道原因了,那就可以再去去完整清除所有的cookie和cache了:

1.先去F12中执行:

Cache->Clear session cookies

Cache->Clear cookies for domain

Cache->Clear browser cache

Cache->Clear browser cache for this domain

再点击Clear,清楚之前所抓取的所有的数据:

bfc06a1dadf78fb8425e6ea93fc99c4d.png

2.再刷新:

C:\Users\CLi\AppData\Local\Microsoft\Windows\Temporary Internet Files

然后找到

Cookie:cli@passport.baidu.com/

点击右键,选择删除:

0f2bcbfcb5ef73c4e2404157c46c4c08.png

另外,也顺带发现了,其他一些和百度有关的cookie:

Cookie:cli@pan.baidu.com/

Cookie:cli@www.baidu.com/ -> 其中包含了Hm_lvt_9f14aaa038bbba8b12ec2a4a3e51d254和Hm_lvt_87552b45c65e0cee553df4aae1e815fc

Cookie:cli@www.baidu.com.sin114.com/

也都顺便一起都删除,以便影响后续的分析。

5f29b4871d7d8cf86488738a656bba04.png

再去点击“登陆”:

a1a906297ee8a3d32760d3c0d9d6f55d.png

输入用户名和密码去登陆:

c477f7abb68e102407baf945f451ecfb.png

然后再去重新搜索想要分析的SAVEUSERID,然后搜索出来的第一个是:

02242bbd094ca1e215fd7b80848c5385.png

3 /67,即共67条记录中的第三条记录,url地址是:

很明显,其就是我们所期望的了,因为其中的SAVEUSERID是通过Set-Cookie所获得的,是访问服务器的某个地址(https://passport.baidu.com/v2/api/?login),然后服务器所返回的cookie值。

如此,我们才能有机会,去写代码,去模拟访问此路径,获得此cookie,然后有后续的可能,利用此cookie,访问后续其他地址,最后完整模拟登陆网站的全部过程的。

另外,从Cookies页面,可以更完整的看到所有的cookie的关系:

2a1421b3ee6398d241f0b5aec1f31f6e.png

赋值下来其所有值为:DirectionKeyValueExpiresDomainPathSecureHTTP only

SentBAIDUIDCDFB2428D458E80FEBE945BE3417D33F:FG=1

ReceivedBDUSSZPeDA1dmZpVWtaYkR1MHVBNklQWjJzSjlwcm9KRWE0U2hOSW9aLXRRN0ZMSVpSQVFBQUFBJCQAAAAAAAAAAAoqxg2y1YMAY3JpZmFuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAYIArMAAAALD2RX0AAAAA6p5DAAAAAAAxMC4yNi4xMMXemFDF3phQaUSat, 23-Jan-2021 09:56:21 GMTbaidu.com/NoNo

ReceivedPTOKEN97c4278d97bb55b68b67ee7eab974b4cSat, 23-Jan-2021 09:56:21 GMTpassport.baidu.com/NoNo

ReceivedSTOKEN1f93a5f7f04911545777c92fa0fabbd5Sat, 23-Jan-2021 09:56:21 GMTpassport.baidu.com/NoNo

ReceivedPTOKENdeletedMon, 07-Nov-2011 09:56:20 GMTbaidu.com/NoNo

ReceivedSAVEUSERID345baf769053e0ed4234Sat, 23-Jan-2021 09:56:21 GMTpassport.baidu.com/NoNo

也很明显看到,另外我们所需要的几个cookie,即PTOKEN,STOKEN,SAVEUSERID,也同时获得了。

【总结】

至此,才完全的分析出来,单个的值,此处为名为SAVEUSERID的cookie,其最原始的值,是访问:

然后服务器返回的响应中,包含了Set-Cookie,设置了新的名为SAVEUSERID的cookie,最终找到了此SAVEUSERID的来源。

而对于模拟网站登陆中,所涉及的其他cookie,其他参数的值等,都是按照上述的逻辑,去一点点分析,找到最终的某个值的来源,然后才能用程序去模拟的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值